Pantau pengiriman surat keluar Postfix

9

Saya menggunakan GNU Mailman dengan Postfix untuk menjalankan milis, dan ingin memantau pengiriman surat keluar, yaitu: untuk setiap surat yang dikirim dari daftar, periksa apakah pesan 250 (OK) dijawab, dan jika tidak , laporkan kembali kepada saya.

Untuk saat ini, saya melakukan yang cepat dan kotor:

# cat /var/log/syslog | grep "smtp.*to=.*" | grep -v 250

Apakah ada cara bersih untuk memantau output smtpd?

Stéphane Caron
sumber
1
Tentunya ini harus digunakan tidak bergunacat ? Paling tidak yang dapat Anda lakukangrep "smtp.*to=.*" /var/log/syslog | grep -v 250
CVn

Jawaban:

5

Tidak ada cara untuk memonitor surat yang dikirim dengan cara yang bersih. Anda hanya dapat menerima detail dari maillog postfix.

Berikut ini sebuah contoh:

log='logfile of postfix'
grep "status=sent" $log | \
egrep -ve 'postfix/(cleanup|pickup|master|qmgr|smtpd|local|pipe)'

Dan juga hindari log untuk dkimdll. Jika Anda membutuhkan jumlah surat maka pipa wc -ldi akhir.

pengirim
sumber
2

Bagaimana tentang:

multitail -eX "smtp.*to=<(.*)>.*sent.*250" './bin/received' -f /var/log/maillog

./bin/received adalah skrip shell yang mendapatkan alamat email tujuan sebagai parameter dan melakukan sesuatu dengannya.

Guillermo Payet
sumber
0

Saya melihat siapa yang mengirim email melalui server saya dengan ini:

tail -f /var/log/mail.log | grep 'sasl'

Ini menunjukkan siapa pengguna terotentikasi yang mengirim.

pengguna1182988
sumber