我不能发送电子邮件,
需要查看日志,
但日志在哪里?
默认位置取决于你的linux / unix系统,但最常见的地方是
如果不在那里,请查看/etc/syslog.conf
。 你应该看到这样的东西
mail.* -/var/log/maillog
sendmail将日志写入syslog的mail
工具。 因此,写入哪个文件取决于如何configurationsyslog 。
如果您的系统使用syslog-ng (而不是更传统的syslog ),那么您将不得不查找您的syslog-ng.conf
文件。 你应该像这样的东西:
# This files are the log come from the mail subsystem. # destination mail { file("/var/log/mail.log"); }; destination maillog { file("/var/log/maillog"); }; destination mailinfo { file("/var/log/mail.info"); }; destination mailwarn { file("/var/log/mail.warn"); }; destination mailerr { file("/var/log/mail.err"); };
我发现一个新安装的 sendmail不能发送电子邮件的最常见的原因之一是DAEMON_OPTIONS被设置为仅在127.0.0.1上进行监听
请参阅/etc/mail/sendmail.mc
dnl # dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
如果这是你的情况,删除“地址= 127.0.0.1”部分,重build你的conf文件,你很好去!
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl [root@server]$ m4 sendmail.mc > /etc/sendmail.cf [root@server]$/etc/init.d/sendmail restart
如果您到目前为止手动对/etc/sendmail.cf进行了更改(而不是* .m4文件),则可以在/etc/sendmail.cf中进行类似的更改。 违规行将如下所示:
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
将其更改为:
O DaemonPortOptions=Port=smtp, Name=MTA
如果你使用* nix,请检查/ var / log / maillog或/ var / log / messages
另外,如果没有任何事情出去,你可能想检查你的防火墙如下(一定要以root身份):
[root @ web01〜]#iptables -L 连锁input(政策接受) 目标人select源目的地 接受tcp - 在任何地方tcp dpt:ms-v-worlds 接受TCP - 在任何地方tcp dpt:imaps 接受tcp - 任何地方tcp dpt:imap 接受TCP - 在任何地方tcp dpt:pop3 接受tcp - 任何地方任何地方tcp dpt:smtp tcp - 任何地方任何地方tcp dpt:ssh状态NEW最近:SET名称:SSH side:source DROP tcp - 任何地方任何地方tcp dpt:ssh状态NEW最近:更新秒数:60 hit_count:8 TTL-Match名称:SSH side:source 连锁FORWARD(政策接受) 目标人select源目的地 链式输出(策略ACCEPT) 目标人select源目的地 链RH-Firewall-1-INPUT(0参考) 目标人select源目的地 [root @ xxxx〜]#
尝试查看/var/log/mail.info或/var/log/mail.err
还检查/ var / spool / mqueue当前caching的传出邮件
/var/log/maillog
对于fedora等。 journalctl _COMM = sendmail将显示来自sendmail的消息。
我被导向到这个答案通过search。 / var / log / mail只包含Fedora上的'statistics'文件。 而所有其他提到的目录是不存在的。
journalctl不够直观,如果你不知道使用什么参数,ymmv。 所以我发布了这个解决scheme。
您可以创build自己的日志文件
[admin@local ~]# killall sendmail [admin@local ~]# touch /var/log/sendmail.log [admin@local ~]# sendmail -bd -q15m >> /var/log/sendmail.log
接着
[admin@local ~]# tail -f /var/log/sendmail.log 451 4.0.0 /fake/path/sendmail.cf: line 0: cannot open: No such file or directory