我如何记录通过 sSMTP 发送的所有电子邮件?
我可以将我的应用程序指向一个包装脚本,但我只是不知道如何编写一个将标题和内容记录到文件中的包装脚本(尽可能多的信息)。
谢谢! :-)
答案1
sSMTP 内置了调试日志记录。在 ssmtp.conf 文件中,包含以下行:Debug=YES
当调试日志记录处于活动状态时,通过 sSMTP 发送的电子邮件的全部内容(包括标题)都将记录到系统日志中。
答案2
以下内容应作为 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
答案3
我的工作解决方案是:ssmtp -d9 <email-recipient>
。
答案4
为什么不让你的 SMTP 服务器记录所有收到的消息,从而捕获整个消息?
如果您使用外部服务器,您只需设置一个简单的内部服务器,然后将其中继到外部服务器。