]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/smtp/serv_smtpeventclient.c
Convert CtdlMessages to respect cm_lengths[]
[citadel.git] / citadel / modules / smtp / serv_smtpeventclient.c
index 209c964b2aff885ef03ee8cd0ba6a61f9b37b024..3be726e8503e40848a96e85f117947f75685232f 100644 (file)
@@ -222,12 +222,12 @@ eNextState FinalizeMessageSend_DB(AsyncIO *IO)
                msg->cm_magic = CTDLMESSAGE_MAGIC;
                msg->cm_anon_type = MES_NORMAL;
                msg->cm_format_type = FMT_RFC822;
-               msg->cm_fields['M'] = SmashStrBuf(&Msg->QMsgData);
-               msg->cm_fields['U'] = strdup("QMSG");
+               CM_SetAsFieldSB(msg, eMesageText, &Msg->QMsgData);
+               CM_SetField(msg, eMsgSubject, HKEY("QMSG"));
                Msg->MyQItem->QueMsgID =
                        CtdlSubmitMsg(msg, NULL, SMTP_SPOOLOUT_ROOM, QP_EADDR);
                EVS_syslog(LOG_DEBUG, "%ld", Msg->MyQItem->QueMsgID);
-               CtdlFreeMessage(msg);
+               CM_Free(msg);
        }
        else {
                CtdlDeleteMessages(SMTP_SPOOLOUT_ROOM,
@@ -356,7 +356,7 @@ eNextState mx_connect_ip(AsyncIO *IO)
        SmtpOutMsg *Msg = IO->Data;
        SetSMTPState(IO, eSTMPconnecting);
 
-       EVS_syslog(LOG_DEBUG, "%s\n", __FUNCTION__);
+       EVS_syslog(LOG_DEBUG, "%s(%s)\n", __FUNCTION__, (Msg->IsRelay)? "Relay":"Remote");
 
        IO->ConnectMe = Msg->pCurrRelay;
        Msg->State = eConnectMX;
@@ -656,6 +656,7 @@ void smtp_try_one_queue_entry(OneQueItem *MyQItem,
                                          resolve_mx_records);
                }
                else { /* oh... via relay host */
+                       Msg->IsRelay = 1;
                        if (Msg->pCurrRelay->IsIP) {
                                SetSMTPState(&Msg->IO, eSTMPconnecting);
                                QueueEventContext(&Msg->IO,