我正在使用 PHP 脚本向我的几个客户发送邮件。其中一些人报告说没有收到邮件。GMail 用户都收到了邮件,但 Yahoo 和 Hotmail 没有。我创建了自己的 Hotmail 帐户来测试它,果然没有电子邮件。不在垃圾邮件/垃圾邮件文件夹或其他地方。
我该如何排除故障并找到问题所在?
我正在运行带有 cPanel 的 CentOS5.5,使用 Exim 收发邮件。
编辑:
/var/logs/maillog 的尾部
Jan 18 22:14:39 server1 dovecot: imap-login: Login: user=<__cpanel__service__auth__imap__dsefdvpt0ystyughvg7_lukinpvjppf7a6kbps6oyro4dh...>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Jan 18 22:14:39 server1 dovecot: IMAP(__cpanel__service__auth__imap__dsefdvpt0ystyughvg7_lukinpvjppf7a6kbps6oyro4dhiob16g9un4heqo4nar): Disconnected: Logged out bytes=11/317
Jan 18 22:19:28 server1 spamd[17866]: spamd: connection from localhost.localdomain [127.0.0.1] at port 49141
Jan 18 22:19:28 server1 spamd[17866]: spamd: setuid to cpanel succeeded
Jan 18 22:19:28 server1 spamd[17866]: spamd: processing message <[email protected]> for cpanel:32001
Jan 18 22:19:28 server1 spamd[17866]: spamd: identified spam (1000.0/5.0) for cpanel:32001 in 0.1 seconds, 834 bytes.
Jan 18 22:19:28 server1 spamd[17866]: spamd: result: Y 999 - GTUBE,NO_RECEIVED,NO_RELAYS scantime=0.1,size=834,user=cpanel,uid=32001,required_score=5.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=49141,mid=<[email protected]>,autolearn=no,shortcircuit=no
Jan 18 22:19:28 server1 spamd[17865]: prefork: child states: II
Jan 18 22:19:39 server1 dovecot: imap-login: Login: user=<__cpanel__service__auth__imap__mqxzqqn3n7p4i_c1latvnurayarqzyv09znah0lqwjuzwy...>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Jan 18 22:19:40 server1 dovecot: IMAP(__cpanel__service__auth__imap__mqxzqqn3n7p4i_c1latvnurayarqzyv09znah0lqwjuzwygaebpjwsfw86gso7xe): Disconnected: Logged out bytes=11/313
但它在 22:19:40 之后向 gmail 发送了一条消息,所以我猜没有记录任何外发邮件。我不知道如何打开日志记录。
答案1
我发现主机商给我的 IP 位于 spamhaus.org 的 SBL 上。唉。
答案2
我会先查看服务器邮件日志。通常位于
/var/log/maillog
在 Cent 上你可以看到已发送消息的结果。
我会在日志中查找雅虎地址,看看该消息的结果是什么。如果您看到“stat=Sent (Backend Replied ...”,则表示雅虎服务器已接收该消息。该消息从服务器到收件箱的去向由雅虎决定。但如果您看到其他错误消息,则可能表明雅虎或 Hotmail 服务器不接受您的邮件
根据您服务器所处的 IP 块,它可能会自动被列入垃圾邮件黑名单。如果是这样,当您与 Yahoo 或 Hotmail 邮件服务器通信以传递邮件时,您通常会收到以下响应:
host k.mx.mail.yahoo.com[98.139.54.60] refused to talk to me: 421 4.7.0 [GL01]
Message from (xxx.xxx.xxx.xxx) temporarily deferred - 4.16.50. Please refer to
http://postmaster.yahoo.com/errors/postmaster-21.html
Yahoo 邮政局长帮助文件包含您可能看到的常见消息的一些解释: http://help.yahoo.com/l/us/yahoo/mail/postmaster/errors/