如何监视来自Unix和Sendmail的传出电子邮件?
我正在运行一个FreeBSD服务器,我收到一个警告,说我的服务器已经发送了垃圾邮件。我没有将其设置为开放式中继,我已经自定义了sendmail配置。我想知道谁在发送什么电子邮件,以及他们的用户名、电子邮件主题行以及他们发送了多少邮件的摘要。我希望在日志上运行一个类似于处理Apache服务器日志的报告如何监视来自Unix和Sendmail的传出电子邮件?,unix,email,sendmail,freebsd,Unix,Email,Sendmail,Freebsd,我正在运行一个FreeBSD服务器,我收到一个警告,说我的服务器已经发送了垃圾邮件。我没有将其设置为开放式中继,我已经自定义了sendmail配置。我想知道谁在发送什么电子邮件,以及他们的用户名、电子邮件主题行以及他们发送了多少邮件的摘要。我希望在日志上运行一个类似于处理Apache服务器日志的报告 我有什么选择?你能给我一些日志样本吗?我认为你最好的选择是用grep或cut查看它们,以获得发送的源/目的地。此外,您还可以编写一个Perl脚本,以便在获得正确的正则表达式后将其自动化。这将是最好的
我有什么选择?你能给我一些日志样本吗?我认为你最好的选择是用grep或cut查看它们,以获得发送的源/目的地。此外,您还可以编写一个Perl脚本,以便在获得正确的正则表达式后将其自动化。这将是最好的选择。一个想法是将sendmail别名为一个自定义脚本,它只需在以常规方式调用sendmail之前将sendmail参数转移到日志的末尾。如果FreeBSD具有默认配置,则只有一种方法可以处理输出邮件,在
/etc/mail
中检查通过您的sendmail系统发送的内容
所有输出邮件必须由
/var/log/maillog
记录。您还可以通过执行以下操作来监视对写入
和读取
函数的所有系统调用:
ps auxw | grep sendmail | awk '{print"-p " $2}' | xargs strace -s 256 -f 2>&1 | grep -E $'@|(([0-9]+\.){3}[0-9]+)' | tee -a "/var/log/sendmail-logs.log"
这会让你直接获得信息,我想你无法深入 你检查过/var/log/maillog了吗?