On Thu, Jun 19, 2014 at 09:51:39AM +0200, Alvaro Mar?n wrote: > The problem is that there is no way to see what has happened with an > email searching the queue ID in the logs (in scripts or apps to trace > emails, for example). It would be usefull add that queue ID to the "lost > connection error", something like: > > Jun 19 08:43:55 postfix/smtpd[26460]: 7EAD855B8355: lost connection > after DATA (17 bytes) from unknown[x]
It was far from clear you were asking for a queue-id here, that's possible, but would likely require changes in existing log parsing scripts. Not sure this is sufficiently compelling... --- a/postfix/src/smtpd/smtpd.c +++ b/postfix/src/smtpd/smtpd.c @@ -4893,13 +4893,15 @@ static void smtpd_proto(SMTPD_STATE *state) */ if (state->reason && state->where) { if (strcmp(state->where, SMTPD_AFTER_DATA) == 0) { - msg_info("%s after %s (%lu bytes) from %s", /* 2.5 compat */ + msg_info("%s: %s after %s (%lu bytes) from %s", /* 2.5 compat */ + (state->queue_id ? state->queue_id : "NOQUEUE"), state->reason, SMTPD_CMD_DATA, /* 2.5 compat */ (long) (state->act_size + vstream_peek(state->client)), state->namaddr); } else if (strcmp(state->where, SMTPD_AFTER_DOT) || strcmp(state->reason, REASON_LOST_CONNECTION)) { - msg_info("%s after %s from %s", + msg_info("%s: %s after %s from %s", + (state->queue_id ? state->queue_id : "NOQUEUE"), state->reason, state->where, state->namaddr); } } > In this specific case, I could search with the smtpd PID but I guess > that is not unique. My "collate" Perl script posted previously to this list may be helpful. -- Viktor.