SMTP-Client: Implement AUTH LOGIN
[citadel.git] / citadel / modules / smtp / smtp_clienthandlers.h
index 149c3ddc54fbc6bceff972ea636bdfc33d0be5cc..dedab4ba49b5c8af79e9ed30bdf40b7e21f8e664 100644 (file)
@@ -22,6 +22,8 @@ typedef enum _eSMTP_C_States {
        eEHLO,
        eHELO,
        eSMTPAuth,
+       eSMTPAuthPlain1,
+       eSMTPAuthPlain2,
        eFROM,
        eRCPT,
        eDATA,
@@ -66,7 +68,7 @@ typedef struct _stmp_out_msg {
        char node[1024];
        char name[1024];
        char mailfrom[1024];
-
+       long SendLogin;
        long Flags;
 } SmtpOutMsg;
 
@@ -121,3 +123,22 @@ int smtp_resolve_recipients(SmtpOutMsg *SendMsg);
 #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);