Timo Sirainen wrote:
On 25.2.2013, at 23.34, Daniel Parthey daniel.parthey@informatik.tu-chemnitz.de wrote:
LMTP has a completely different session ID currently, which gets reset for each mail delivery and is written to the Received: header that it writes. It doesn't traverse through proxies, because each delivery gets a different ID anyway.
So .. Why is it that you want this? For matching a log line with a Received: header? I guess that could be done, but the name should probably be different from %{session} so it won't get mixed up with what IMAP/POP3 uses it for.
I simply run an LMTP director/proxy to prevent NFS locking issues and in error cases I want to investigate where the mail has gone (through the director lmtp to the mailbox lmtp). I thought this is what "session IDs" were intended for.
The SMTP server should log the delivery ID that the backend generates, and you should be able to grep for it, right?
Ah ok, that's totally fine. I didn't expect the ID to be the "backend" IP :)
Obviously, the generated ID is a different one for director and mailbox, looking at the Received: lines of a single message:
Received: from mail01.example.org ([10.129.3.193]) by mail01.example.org (Dovecot) with LMTP id vdSeD+CrK1HXZQAAiWCYmA ; Mon, 25 Feb 2013 19:25:02 +0100 Received: from mx01.example.org ([127.0.0.1]) by mail01.example.org (Dovecot) with LMTP id fu7aIn6sK1EMaQAAiWCYmA ; Mon, 25 Feb 2013 19:25:02 +0100
What would you suggest how to track an LMTP delivery through a director proxy? Should one use the MessageID to correlate the lmtp log entries in dovecot-director.log and dovecot.log?
I was first thinking about having LMTP proxy log the delivery ID, until I noticed that LMTP proxy doesn't log anything about delivered mails currently. I'm not really sure if that would be of any actual help?
Currently our lmtp proxy logs the following:
dovecot: lmtp(3538): Debug: none: root=, index=, control=, inbox=, alt= dovecot: lmtp(3538): Connect from 127.0.0.1 dovecot: lmtp(3538): Debug: auth input: user=user@example.org proxy proxy_timeout=120 port=19024 host=10.129.3.193 proxy_refresh=86400 dovecot: lmtp(3538): Disconnect from 127.0.0.1: Client quit (in reset)
In combination with syslog timestamp, this is enough information to track the user/backend assignment in the director, also shown by doveadm director status user@example.org.