Монітор доставки вихідної пошти Postfix


11

Я використовую GNU Mailman з Postfix для запуску списку розсилки, і я хотів би контролювати доставку вихідної пошти, тобто: для кожної пошти, надісланої зі списку, перевірте, чи відповіли на повідомлення 250 (ОК), і якщо ні , доповіді мені.

Поки що я роблю швидко і брудно:

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

Чи існує чистий спосіб відстежувати вихід smtpd?


1
Звичайно, це має бути марне використанняcat ? Принаймні, ви можете це зробитиgrep "smtp.*to=.*" /var/log/syslog | grep -v 250
CVn

Особисто я вважаю, що хрестовий похід трохи педантичний у більшості контекстів і вважаю за краще читаний, модульний формат
ОП

Відповіді:


8

Немає можливості в чистому режимі стежити за відправленими повідомленнями. Ви можете вилучити лише дані з поштового журналу Postfix.

Ось приклад:

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

А також уникайте журналів і dkimт. Д. Якщо вам потрібна кількість листів, то трубопровід wc -lв кінці.


3

Як щодо:

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

./bin/received - це сценарій оболонки, який отримує цільову адресу електронної пошти як параметр і щось робить з нею.



0

Я спостерігаю за тим, хто надсилає електронну пошту через мій сервер із цим:

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

Він показує, хто аутентифікований користувач, хто надсилає

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.