我的服务器上安装了 exim,我想使用 php 的mail()
功能向托管在 apache 上的网站发送邮件。
当我尝试发送电子邮件时,没有出现错误,但电子邮件始终未到达。我检查了exim
的日志,得到了以下信息:
2015-12-28 15:51:36 1aDZ96-00052a-5y <= [email protected] U=www-data P=local S=490
2015-12-28 15:51:37 1aDZ96-00052a-5y TLS error on connection to mx2.hotmail.com [65.54.188.72] (recv): The TLS connection was non-properly terminated.
2015-12-28 15:51:37 1aDZ96-00052a-5y TLS error on connection to mx2.hotmail.com [65.54.188.72] (send): The specified session has been invalidated for some reason.
2015-12-28 15:51:37 1aDZ96-00052a-5y ** [email protected] R=dnslookup T=remote_smtp X=TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256 DN="CN=*.hotmail.com": SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1526: host mx2.hotmail.com [65.54.188.72]: 550 SC-002 (BAY004-MC1F20) Unfortunately, messages from xxx.xxx.xxx.xxx weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.
2015-12-28 15:51:38 1aDZ97-00052f-Uc <= <> R=1aDZ96-00052a-5y U=Debian-exim P=local S=1747
2015-12-28 15:51:38 1aDZ96-00052a-5y Completed
每次尝试发送电子邮件都会产生类似这样的错误。我搜索了可能导致这种情况的原因。我发现当服务器被列入黑名单时可能会发生类似的错误,但我的服务器没有理由被列入黑名单(我已经使用 mxtoolbox 检查过,没有问题)。
此处发布的错误显示了hotmail
接收方地址,但我收到其他目标域的可能错误,例如:
SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1898: host smtp-in.orange.fr [193.252.22.65]: 501 5.1.0 Emetteur invalide. Invalid Sender. O
我还被告知始终使用-f
选项sendmail
提供发件人地址,但是它只会更改错误日志中显示的发件人地址,并且错误是相同的。
我应该怎么办 ?
答案1
以下是对您遇到的错误的解释:
2015-12-28 15:51:37 1aDZ96-00052a-5y TLS error on connection to mx2.hotmail.com [65.54.188.72] (send): The specified session has been invalidated for some reason.
这意味着您正在尝试为您的服务器使用自签名 SSL 证书,它们不应该在测试环境之外的任何地方使用,因为互联网上的大多数服务器都会拒绝连接。
要使用 SSL,您需要获得正确签名的证书(例如,您可以从启动SSL或者沃通。
2015-12-28 15:51:37 1aDZ96-00052a-5y ** [email protected] R=dnslookup T=remote_smtp X=TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256 DN="CN=*.hotmail.com": SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1526: host mx2.hotmail.com [65.54.188.72]: 550 SC-002 (BAY004-MC1F20) Unfortunately, messages from xxx.xxx.xxx.xxx weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors
这意味着您正在尝试在家庭 ISP 或其他受感染的网络上运行邮件服务器。大多数主要邮件服务器不会接受来自家庭 IP 的邮件。如果您希望邮件被送达,您必须遵守他们的规则 - 要求您的 ISP 按照http://mail.live.com/mail/troubleshooting.aspx#errors
Microsoft 的要求去做可能是解决问题的唯一方法。但首先您应该live.com
自己联系支持人员并询问他们需要什么才能将您的主机列入白名单。
准备与每家主要邮政服务机构联系并进行长时间的通信,以使您的邮件畅通无阻。
SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1898: host smtp-in.orange.fr [193.252.22.65]: 501 5.1.0 Emetteur invalide. Invalid Sender.
这意味着您发送邮件的域名与 orange.fr 期望的不符。检查它是否有正确解析到您发送电子邮件的 IP 的 MX 记录
答案2
您的本地 TLS 证书可能小于 1024 位。重新密钥并确保使用 1024 或 2048 的密钥大小。确保 Exim 使用正确的新密钥,然后您就可以开始了。