CtdlDeleteMessages(SMTP_SPOOLOUT_ROOM, &Msg->MyQItem->QueMsgID, 1, "");
if (IDestructQueItem)
- smtpq_do_bounce(Msg->MyQItem,Msg->msgtext);
+ smtpq_do_bounce(Msg->MyQItem, Msg->msgtext);
if (nRemain > 0)
{
if ((IO->DNS.Query->DNSStatus == ARES_SUCCESS) &&
(IO->DNS.Query->VParsedDNSReply != NULL))
{ /* ok, we found mx records. */
- Msg->IO.ErrMsg = Msg->MyQEntry->StatusMessage;
Msg->CurrMX
= Msg->AllMX
SMTP_C_Timeout,
SMTP_C_Shutdown);
+ Msg->IO.ErrMsg = Msg->MyQEntry->StatusMessage;
+
return Msg;
}
/* if we're sending a huge message,
* we need more time.
*/
- Timeout += StrLength(Msg->msgtext) / 1024;
+ Timeout += StrLength(Msg->msgtext) / 512;
}
break;
case eReadMessage:
* some mailservers take a nap before accepting
* the message content inspection and such.
*/
- Timeout += StrLength(Msg->msgtext) / 1024;
+ Timeout += StrLength(Msg->msgtext) / 512;
}
break;
case eSendDNSQuery:
Msg->MyQEntry->Status = 4;
EVS_syslog(LOG_DEBUG, "SMTP: %s\n", __FUNCTION__);
StrBufPlain(IO->ErrMsg, CKEY(ReadErrors[Msg->State]));
- return FailOneAttempt(IO);
+ if (Msg->State > eRCPT)
+ return eAbort;
+ else
+ return FailOneAttempt(IO);
}
eNextState SMTP_C_ConnFail(AsyncIO *IO)
{