We have a postfix server that requires authentication to SMTP relay through it. We use virtual mailboxes in MySQL database.
A message was relayed through our system, and we need to determine which one of our user accounts was used to send it.
The message headers contains:
Received: from User (c-76-109-241-139.hsd1.fl.comcast.net [xx.109.xxx.139])
by ourserver.com (Postfix) with ESMTPA id 7BA184B4AD4;
Tue, 3 Jul 2012 05:42:59 -0400 (EDT)
We don't have a user called "User", and the IP address is not one that we would be sending mail from. I'd like to find out which of our user accounts the sender authenticated as when sending the message.
Is there a way to track this?
If you grep for the message ID (7BA184B4AD4 in your case) in
/var/log/mail.log
you should find a log line indicating thesasl_username
. For example:Edit: If you set the
smtpd_sasl_authenticated_header
option in/etc/postfix/main.cf
Postfix will add the SASL username to theReceived
header in mails. Note that this header can be tampered with, so the above is the only reliable way to determine which user submitted the message.