Msg->MyQItem->QueMsgID = -1;
if (Msg->IDestructQueItem)
- smtpq_do_bounce(Msg->MyQItem, StatusMessage, Msg->msgtext, Msg->pCurrRelay);
+ smtpq_do_bounce(Msg->MyQItem, Msg->msgtext, Msg->pCurrRelay);
if (Msg->nRemain > 0)
{
* instructions for "5" codes (permanent fatal errors) and produce/deliver
* a "bounce" message (delivery status notification).
*/
-void smtpq_do_bounce(OneQueItem *MyQItem, StrBuf *StatusMessage, StrBuf *OMsgTxt, ParsedURL *Relay)
+void smtpq_do_bounce(OneQueItem *MyQItem, StrBuf *OMsgTxt, ParsedURL *Relay)
{
static int seq = 0;
StrBufAppendBufPlain(Msg, HKEY(" "), 0);
StrBufAppendBuf(Msg, ThisItem->Recipient, 0);
StrBufAppendBufPlain(Msg, HKEY(": "), 0);
- StrBufAppendBuf(Msg, StatusMessage, 0);
+ if (ThisItem->AllStatusMessages != NULL)
+ StrBufAppendBuf(Msg, ThisItem->AllStatusMessages, 0);
+ else
+ StrBufAppendBuf(Msg, ThisItem->StatusMessage, 0);
StrBufAppendBufPlain(Msg, HKEY("\r\n"), 0);
}
}
void RemoveQItem(OneQueItem *MyQItem);
int CountActiveQueueEntries(OneQueItem *MyQItem, int before);
StrBuf *SerializeQueueItem(OneQueItem *MyQItem);
-void smtpq_do_bounce(OneQueItem *MyQItem, StrBuf *StatusMessage, StrBuf *OMsgTxt, ParsedURL *Relay);
+void smtpq_do_bounce(OneQueItem *MyQItem, StrBuf *OMsgTxt, ParsedURL *Relay);
int CheckQEntryIsBounce(MailQEntry *ThisItem);