我如何才能查看我的网络服务器发送的电子邮件?
它们实际上是通过 php 脚本发送的。有没有办法跟踪它们?
谢谢
附言:我使用的是 Ubuntu 10(和 9)和 Lighttpd
答案1
有很多可能性,都很大程度上取决于系统的架构:
- 可能最简单的方法:让脚本将 (B)CC 邮件发送给您或特殊的收件地址。这应该可以在脚本的某个地方配置。
- 如果没有,也许脚本会在某处记录其活动或可以配置为执行此操作。
- 接收邮件的邮件服务器肯定会记录一些内容。该服务器可以配置为也向您发送副本。
正如我所说,这一切都取决于您的系统,而您没有告诉我们有关它的任何信息。
答案2
答案3
答案4
另一件需要注意的事情是,经常上传到过时的第三方 CMS 安装的“可爱”的 perl 脚本。这些脚本通常有自己的 SMTP 引擎,可以避免本地邮件日志。幸运的是,使用 iptables 可以相对轻松地阻止这种情况:
# 允许 root 用户发起到端口 25 的出站连接 iptables -A OUTPUT -m 所有者 --uid-owner root -p tcp --dport 25 -j 接受 # 允许邮件用户发起到端口 25 的出站连接 # 假设你的邮件服务器正在作为邮件运行 iptables -A OUTPUT -m 所有者 --uid-owner 邮件 -p tcp --dport 25 -j 接受 # 允许任何人连接到本地主机的 25 端口 iptables -A 输出 -p tcp -d 127.0.0.1 --dport 25 -j 接受 # 允许任何人连接到本地中继服务器 iptables -A OUTPUT -p tcp -d reply.example.com --dport 25 -j ACCEPT 复制代码 # 阻止所有其他到端口 25 的出站连接 iptables -A OUTPUT -p tcp --dport 25 -j REJECT
这将强制所有电子邮件通过本地主机或本地中继发送,并且只有邮件用户和 root 用户才能发送邮件。这假定您正在运行 Linux,并且 ipt_owner 模块可用。
另外,还有 php 的邮件头补丁这里它会将发送邮件的脚本名称放入标题中。在我看来,它应该是核心 PHP 的一部分,但不幸的是,它不是。