![在哪里可以找到 exim 的“debug_print”的输出?](https://linux22.com/image/558392/%E5%9C%A8%E5%93%AA%E9%87%8C%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%20exim%20%E7%9A%84%E2%80%9Cdebug_print%E2%80%9D%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9F.png)
我正在尝试调试 exim 配置问题(Ubuntu),并且在配置中看到很多行,例如:
remote_smtp:
debug_print = "T: remote_smtp for $local_part@$domain"
driver = smtp
但是,我不知道如何获取这些语句的输出。我尝试编辑 /etc/default/exim4 并在其中添加各种 CLI 参数,例如 -v、-d、-d+all,虽然它们确实有效,但 debug_print 行无处可寻(stderr、stdout、/var/log/exim4/mainlog)。
如何启用以及在哪里可以找到“T: remote_smtp for ...”输出?
答案1
根据进出口文件
If this option is set and debugging is enabled (see `-d', `-v', and `debug_level'),
then the string is expanded and included in the debugging output when the transport
is run.
您可以通过在命令行上手动运行 exim 来验证其是否正常工作:
exim -d+all -bP transport remote_smtp
您是否尝试过添加debug_level 1
到您的 exim 配置?
答案2
我同样无法通过修改和添加配置文件来看到任何附加信息/etc/default/exim4
,但出现了错误。debug_level 1
对我有用的是在前台运行 exim4,使用 Debian/Ubuntu 启动时使用的相同命令行参数并添加到d+all
其中:
root@sh1:/srv/www/static# ps -A | grep exim
12886 ? 00:00:00 exim4
root@sh1:/srv/www/static# cat /proc/12886/cmdline
/usr/sbin/exim4-bd-q30m
root@sh1:/srv/www/static# service exim4 stop
现在在前台启动 exim,笔记您必须在参数之间添加空格:
root@sh1:/srv/www/static# /usr/sbin/exim4 -bd -d+all -q30m
22:19:03 12969 Exim version 4.84 uid=0 gid=0 pid=12969 D=fffdffff
Berkeley DB: Berkeley DB 5.3.28: (September 9, 2013)
Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc GnuTLS move_frozen_messages Content_Scanning DKIM Old_Demime PRDR OCSP
...