New SMTP client implementation makes libcurl do all the work.
[citadel.git] / citadel / modules / smtp / smtp_clienthandlers.h
diff --git a/citadel/modules/smtp/smtp_clienthandlers.h b/citadel/modules/smtp/smtp_clienthandlers.h
deleted file mode 100644 (file)
index 8d0fa9b..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2012 by the citadel.org team
- *
- *  This program is open source software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-typedef enum _eSMTP_C_States {
-       eConnectMX,
-       eEHLO,
-       eHELO,
-       eSMTPAuth,
-       eSMTPAuthPlain1,
-       eSMTPAuthPlain2,
-       eFROM,
-       eRCPT,
-       eDATA,
-       eDATABody,
-       eDATATerminateBody,
-       eQUIT,
-       eMaxSMTPC
-} eSMTP_C_States;
-
-
-typedef struct _stmp_out_msg {
-       MailQEntry *MyQEntry;
-       OneQueItem *MyQItem;
-       long n;
-       AsyncIO IO;
-       long CXFlags;
-       int IDestructQueItem;
-       int nRemain;
-
-       eSMTP_C_States State;
-
-       struct ares_mx_reply *AllMX;
-       struct ares_mx_reply *CurrMX;
-       const char *mx_port;
-       const char *mx_host;
-       const char *LookupHostname;
-       int iMX, nMX;
-       int LookupWhich;
-
-       DNSQueryParts MxLookup;
-       DNSQueryParts HostLookup;
-       struct hostent *OneMX;
-       char **pIP;
-
-       ParsedURL *Relay;
-       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;
-
-
-typedef eNextState (*SMTPReadHandler)(SmtpOutMsg *Msg);
-typedef eNextState (*SMTPSendHandler)(SmtpOutMsg *Msg);
-
-SMTPReadHandler ReadHandlers[eMaxSMTPC];
-SMTPSendHandler SendHandlers[eMaxSMTPC];
-const ConstStr ReadErrors[eMaxSMTPC+1];
-const double SMTP_C_ReadTimeouts[eMaxSMTPC];
-const double SMTP_C_SendTimeouts[eMaxSMTPC];
-const double SMTP_C_ConnTimeout;
-
-#define F_RELAY          (1<<0) /* we have a Relay    host configuration */
-#define F_HAVE_FALLBACK  (1<<1) /* we have a fallback host configuration */
-#define F_FALLBACK       (1<<2)
-#define F_HAVE_MX        (1<<3) /* we have a list of mx records to go through.*/
-#define F_DIRECT         (1<<4) /* no mx record found, trying direct connect. */
-
-extern int SMTPClientDebugEnabled;
-
-int smtp_resolve_recipients(SmtpOutMsg *SendMsg);
-
-#define QID ((SmtpOutMsg*)IO->Data)->MyQItem->MessageID
-#define N ((SmtpOutMsg*)IO->Data)->n
-#define DBGLOG(LEVEL) if ((LEVEL != LOG_DEBUG) || (SMTPClientDebugEnabled != 0))
-
-typedef enum __smtpstate {
-       eSTMPmxlookup,
-       eSTMPevaluatenext,
-       eSTMPalookup,
-       eSTMPaaaalookup,
-       eSTMPconnecting,
-       eSTMPsmtp,
-       eSTMPsmtpdata,
-       eSTMPsmtpdone,
-       eSTMPfinished,
-       eSTMPfailOne,
-       eSMTPFailTemporary,
-       eSMTPFailTotal
-} smtpstate;
-
-void SetSMTPState(AsyncIO *IO, smtpstate State);