有时在调试 SMTP 问题时,标准邮件日志是不够的,我需要查看完整的 SMTP 会话。在 postfix 中,我将有问题的 IP 添加到“debug_peer_list”,这将仅启用该 IP 的会话日志和其他调试信息。
exim中有类似的东西吗?我只找到了对“在调试模式下运行 exim”的引用,这显然会导致记录所有会话,我担心这会很快写入大量不必要的日志,导致大量磁盘 I/O,并难以找到有问题的事务
TL;DR: 从特定 IP(或发件人地址)获取完整 SMTP 事务日志的最佳方法是什么?
我正在运行 exim 4.80(一个 cpanel 服务器)。
您可以通过添加一些 ACL 轻松查看从远程系统接收的命令:
# Global hosts setting, list of IP addresses you want to see SMTP commands
hostlist debug_hosts = xxx.xxx.xxx.xxx : yyy.yyy.yyy.yyy
# early in acl_smtp_helo
warn hosts = +debug_hosts
log_write = DEBUG: $smtp_command
# early in acl_smtp_mail
warn hosts = +debug_hosts
log_write = DEBUG: $smtp_command
# early in acl_smtp_rcpt
warn hosts = +debug_hosts
log_write = DEBUG: $smtp_command
Run Code Online (Sandbox Code Playgroud)
但是,如果您也想在日志中查看您那边的内容,那在 exim 中是不可能的。然后,您的选项仅限于任何系统提供的网络调试工具,例如 tcpdump、tshark 或(我最喜欢的)ngrep。
例如,如果您的客户抱怨他们无法通过您的服务器发送邮件。这是一个简单的条目,显示了他们无法发送的原因:
# ngrep -q port 25 host 208.54.85.254
<snip>
T 208.54.85.254:15084 -> 208.89.138.22:25 [AP]
AUTH PLAIN kkvdsoirDSAasdfrASDF4swSD23DAGAG6893Mgss==..
T 208.89.138.22:25 -> 208.54.85.254:15084 [AP]
535 Incorrect authentication data..
Run Code Online (Sandbox Code Playgroud)
我希望其中之一对您有用。
| 归档时间: |
|
| 查看次数: |
6963 次 |
| 最近记录: |