Msg->MyQItem->QueMsgID = -1;
if (Msg->IDestructQueItem)
- smtpq_do_bounce(Msg->MyQItem, Msg->msgtext);
+ smtpq_do_bounce(Msg->MyQItem, Msg->msgtext, Msg->pCurrRelay);
if (Msg->nRemain > 0)
{
if (KeepMsgText) Msg->msgtext = MsgText;
else Msg->msgtext = NewStrBufDup(MsgText);
- if (smtp_resolve_recipients(Msg)) {
-
+ if (smtp_resolve_recipients(Msg) &&
+ (!MyQItem->HaveRelay ||
+ (MyQItem->URL != NULL)))
+ {
safestrncpy(
((CitContext *)Msg->IO.CitContext)->cs_host,
Msg->node,
/* No recipients? well fail then. */
if (Msg->MyQEntry != NULL) {
Msg->MyQEntry->Status = 5;
- StrBufPlain(Msg->MyQEntry->StatusMessage,
- HKEY("Invalid Recipient!"));
+ if (StrLength(Msg->MyQEntry->StatusMessage) == 0)
+ StrBufPlain(Msg->MyQEntry->StatusMessage,
+ HKEY("Invalid Recipient!"));
}
FinalizeMessageSend_DB(&Msg->IO);
- DeleteSmtpOutMsg(&Msg->IO);
+ DeleteSmtpOutMsg(Msg);
}
}