]> Pileus Git - ~andy/fetchmail/blob - smtp.h
Attempt merging from 6.3.24.
[~andy/fetchmail] / smtp.h
1 /*
2  * smtp.h -- prototypes for smtp handling code
3  *
4  * For license terms, see the file COPYING in this directory.
5  */
6
7 #ifndef _POPSMTP_
8 #define _POPSMTP_
9
10 #include "config.h"
11
12 #define         SMTPBUFSIZE     256
13
14 /* SMTP error values */
15 #define         SM_OK              0
16 #define         SM_ERROR           128
17 #define         SM_UNRECOVERABLE   129
18
19 /* ESMTP extension option masks (not all options are listed here) */
20 #define ESMTP_8BITMIME  0x01
21 #define ESMTP_SIZE      0x02
22 #define ESMTP_ETRN      0x04
23 #define ESMTP_ATRN      0x08            /* used with ODMR, RFC 2645 */
24 #define ESMTP_AUTH      0x10
25
26 /* SMTP timeouts (seconds) - SHOULD clauses from RFC-5321 sec. 4.5.3.2. */
27 #define TIMEOUT_STARTSMTP       300
28 #define TIMEOUT_HELO            300 /* not in RFC-5321, also for EHLO/LHLO */
29 #define TIMEOUT_MAIL            300
30 #define TIMEOUT_RCPT            300
31 #define TIMEOUT_DATA            120
32 #define TIMEOUT_DATALINE        180
33 #define TIMEOUT_EOM             600
34 #define TIMEOUT_DEFAULT         300 /* not in RFC-5321, all other client timeouts */
35
36 extern time_t last_smtp_ok;
37
38 int SMTP_helo(int socket, char smtp_mode, const char *host);
39 int SMTP_ehlo(int socket, char smtp_mode, const char *host, char *name, char *passwd, int *opt);
40 int SMTP_from(int socket, char smtp_mode, const char *from,const char *opts);
41 int SMTP_rcpt(int socket, char smtp_mode, const char *to);
42 int SMTP_data(int socket, char smtp_mode);
43 int SMTP_eom(int socket, char smtp_mode);
44 int SMTP_rset(int socket, char smtp_mode);
45 int SMTP_quit(int socket, char smtp_mode);
46 int SMTP_ok(int socket, char smtp_mode, int mintimeout);
47
48 extern char smtp_response[MSGBUFSIZE];
49
50 #endif