Bagaimana cara menentukan pengguna mana yang mengirim email tertentu dengan postfix?

9

Kami memiliki server postfix yang memerlukan otentikasi ke relai SMTP melaluinya. Kami menggunakan kotak surat virtual di database MySQL.

Pesan dikirimkan melalui sistem kami, dan kami perlu menentukan akun pengguna mana yang digunakan untuk mengirimkannya.

Header pesan berisi:

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)

Kami tidak memiliki pengguna yang disebut "Pengguna", dan alamat IP bukan yang akan kami gunakan untuk mengirim email. Saya ingin mengetahui akun pengguna mana yang diautentikasi pengirim ketika mengirim pesan.

Apakah ada cara untuk melacak ini?

Nick
sumber
Di atas, Useradalah nama host dari server surat Anda. Apakah Anda melihat sesuatu seperti ini Authenticated sender:?
quanta

Jawaban:

15

Jika Anda menerima ID pesan (7BA184B4AD4 dalam kasus Anda) di /var/log/mail.logAnda harus menemukan baris log yang menunjukkan sasl_username. Sebagai contoh:

% zgrep 07A1753F /var/log/mail.log*
Jul  4 19:47:58 mammon postfix/smtpd[4936]: 07A1753F: client=c-69-181-123-456.hsd1.ca.comcast.net[69.181.123.456], sasl_method=PLAIN, sasl_username=mgorven

Sunting: Jika Anda mengatur smtpd_sasl_authenticated_header opsi di /etc/postfix/main.cfPostfix akan menambahkan nama pengguna SASL ke Receivedheader dalam surat. Perhatikan bahwa tajuk ini dapat dirusak, jadi di atas adalah satu-satunya cara yang dapat diandalkan untuk menentukan pengguna mana yang mengirim pesan.

smtpd_sasl_authenticated_header = yes
Mgorven
sumber
1
Saya tidak melihat ini di log saya, semua entri ini miliki adalah client = xxx dan tidak ada info sasl, apakah sasl digunakan atau tidak. Saya kira ini karena saya menggunakan Dovecot untuk otentikasi sasl, bukan Cyrus SASL. Saya bisa meminta Dovecot untuk mencatat catatan autentikasi sendiri tetapi ini sulit untuk dicocokkan dengan pesan log postfix.
gogoud
Pengguna WHM / cPanel:/var/log/maillog
rinogo