*/
StopClientWatchers(IO, 1);
+ Msg->MyQEntry->nAttempt ++;
+ if (Msg->MyQEntry->AllStatusMessages == NULL)
+ Msg->MyQEntry->AllStatusMessages = NewStrBuf();
+
+ StrBufAppendPrintf(Msg->MyQEntry->AllStatusMessages, "%ld) ", Msg->MyQEntry->nAttempt);
+ StrBufAppendBuf(Msg->MyQEntry->AllStatusMessages, Msg->MyQEntry->StatusMessage, 0);
+ StrBufAppendBufPlain(Msg->MyQEntry->AllStatusMessages, HKEY("; "), 0);
+
if (Msg->pCurrRelay != NULL)
Msg->pCurrRelay = Msg->pCurrRelay->Next;
if ((Msg->pCurrRelay != NULL) &&
*/
FreeStrBuf(&Q->Recipient);
FreeStrBuf(&Q->StatusMessage);
-
+ FreeStrBuf(&Q->AllStatusMessages);
memset(Q, 0, sizeof(MailQEntry));
free(Q);
}
StrBufAppendBufPlain(QMessage, HKEY("|"), 0);
StrBufAppendPrintf(QMessage, "%d", ThisItem->Status);
StrBufAppendBufPlain(QMessage, HKEY("|"), 0);
- StrBufAppendBuf(QMessage, ThisItem->StatusMessage, 0);
+ if (ThisItem->AllStatusMessages != NULL)
+ StrBufAppendBuf(QMessage, ThisItem->AllStatusMessages, 0);
+ else
+ StrBufAppendBuf(QMessage, ThisItem->StatusMessage, 0);
}
DeleteHashPos(&It);
StrBufAppendBufPlain(QMessage, HKEY("\n"), 0);
typedef struct _mailq_entry {
StrBuf *Recipient;
StrBuf *StatusMessage;
+ StrBuf *AllStatusMessages;
int Status;
/**<
* 0 = No delivery has yet been attempted
int n;
int Active;
int StillActive;
+ int nAttempt;
}MailQEntry;
typedef struct queueitem {