9

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

Сейчас я делаю быстро и грязно:

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

Есть ли чистый способ контролировать вывод smtpd?

3 ответа3

4

Нет никакого способа контролировать отправленные письма в чистом виде. Вы можете получить информацию только из почтового журнала postfix.

Вот пример:

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

А также избегайте логов для dkim и т.д. Если вам нужно количество писем, то в конце укажите pipe по wc -l .

2

Как насчет:

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

./bin/received - это сценарий оболочки, который получает адрес электронной почты назначения в качестве параметра и что-то с ним делает.

0

попробуй это

cat /var/log/maillog |grep -v "relay=local" |grep "relay=" |grep "status=sent"

Вы найдете очень полезную информацию здесь http://en.redinskala.com/postfix-maillog-interpretation/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .