Removed the register/callback stuff from serv_smtp.c , it added more complexity than...
[citadel.git] / citadel / modules / smtp / smtp_util.h
1 /*
2  * Copyright (c) 1998-2017 by the citadel.org team
3  *
4  * This program is open source software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 3.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  */
13
14 const char *smtp_get_Recipients(void);
15
16 struct citsmtp {                /* Information about the current session */
17         int command_state;
18         StrBuf *Cmd;
19         StrBuf *helo_node;
20         StrBuf *from;
21         StrBuf *recipients;
22         StrBuf *OneRcpt;
23         int number_of_recipients;
24         int delivery_mode;
25         int message_originated_locally;
26         int is_lmtp;
27         int is_unfiltered;
28         int is_msa;
29         StrBuf *preferred_sender_email;
30         StrBuf *preferred_sender_name;
31 };
32
33 #define SMTP            ((struct citsmtp *)CC->session_specific_data)
34
35 // These are all the values that can be passed to the is_final parameter of smtp_do_bounce()
36 enum {
37         SDB_BOUNCE_FATALS,
38         SDB_BOUNCE_ALL,
39         SDB_WARN
40 };
41
42 void smtp_do_bounce(const char *instr, int is_final);
43 char *smtpstatus(int code);