Как я могу регистрировать все электронные письма, проходящие через sSMTP?
Я могу указать своим приложениям на сценарий оболочки, я просто не знаю, как написать сценарий оболочки, который записывает заголовки и содержимое в файл (как можно больше информации).
Спасибо! :-)
sSMTP имеет встроенное ведение журнала отладки. В файл ssmtp.conf включите следующую строку: Debug = YES
Когда ведение журнала отладки активно, все содержимое писем, отправленных через sSMTP, включая заголовки, записывается в системный журнал.
Следующее должно работать как сценарий оболочки sSMTP. Он регистрирует параметры, с которыми он вызывается, и данные, предоставленные на stdin. При необходимости измените местоположение файла журнала и имя реального sSMTP.
#!/bin/sh
set -e
LOGFILE="/tmp/ssmtp-$(date +%Y%m%d-%H%M%S-$$)"
echo "$0 $@" > "$LOGFILE"
tee -a "$LOGFILE" | ssmtp.real "$@"
Не забудьте сделать скрипт исполняемым:
chmod +x /path/to/script
Почему бы вам просто не настроить ваш SMTP-сервер в журнал всех полученных сообщений и, следовательно, захватить все сообщение?
Если вы используете внешний сервер, вы можете просто настроить простой внутренний сервер, который затем будет ретранслировать на внешний сервер.
Мое рабочее решение: ssmtp -d9 <email-recipient>
.