eEHLO,
eHELO,
eSMTPAuth,
+ eSMTPAuthPlain1,
+ eSMTPAuthPlain2,
eFROM,
eRCPT,
eDATA,
ParsedURL *pCurrRelay;
StrBuf *msgtext;
StrBuf *QMsgData;
+ StrBuf *MultiLineBuf;
const char *envelope_from;
char user[1024];
char node[1024];
char name[1024];
char mailfrom[1024];
-
+ long SendLogin;
long Flags;
+ long IsRelay;
} SmtpOutMsg;
#define EVS_syslog(LEVEL, FORMAT, ...) \
DBGLOG(LEVEL) syslog(LEVEL, \
- "IO[%ld]CC[%d]S[%ld][%ld]" FORMAT, \
- IO->ID, CCID, QID, N, __VA_ARGS__)
+ "SMTPC:%s[%ld]CC[%d]S[%ld][%ld] " FORMAT, \
+ IOSTR, IO->ID, CCID, QID, N, __VA_ARGS__)
#define EVSM_syslog(LEVEL, FORMAT) \
DBGLOG(LEVEL) syslog(LEVEL, \
- "IO[%ld]CC[%d]S[%ld][%ld]" FORMAT, \
- IO->ID, CCID, QID, N)
+ "SMTPC:%s[%ld]CC[%d]S[%ld][%ld] " FORMAT, \
+ IOSTR, IO->ID, CCID, QID, N)
#define EVNCS_syslog(LEVEL, FORMAT, ...) \
- DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]S[%ld][%ld]" FORMAT, \
- IO->ID, QID, N, __VA_ARGS__)
+ DBGLOG(LEVEL) syslog(LEVEL, "SMTPC:%s[%ld]S[%ld][%ld] " FORMAT, \
+ IOSTR, IO->ID, QID, N, __VA_ARGS__)
#define EVNCSM_syslog(LEVEL, FORMAT) \
- DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]S[%ld][%ld]" FORMAT, \
- IO->ID, QID, N)
+ DBGLOG(LEVEL) syslog(LEVEL, "SMTPC:%s[%ld]S[%ld][%ld] " FORMAT, \
+ IOSTR, IO->ID, QID, N)
+
+#define SMTPC_syslog(LEVEL, FORMAT, ...) \
+ DBGLOG(LEVEL) syslog(LEVEL, \
+ "SMTPCQ: " FORMAT, \
+ __VA_ARGS__)
+
+#define SMTPCM_syslog(LEVEL, FORMAT) \
+ DBGLOG(LEVEL) syslog(LEVEL, \
+ "SMTPCQ: " FORMAT)
+
+
+
+typedef enum __smtpstate {
+ eSTMPmxlookup,
+ eSTMPevaluatenext,
+ eSTMPalookup,
+ eSTMPaaaalookup,
+ eSTMPconnecting,
+ eSTMPsmtp,
+ eSTMPsmtpdata,
+ eSTMPsmtpdone,
+ eSTMPfinished,
+ eSTMPfailOne,
+ eSMTPFailTemporary,
+ eSMTPFailTotal
+} smtpstate;
+
+void SetSMTPState(AsyncIO *IO, smtpstate State);