我已经运行 postfixmail.myserver.com
超过 15 年了,成功地接收和发送邮件。使用 Let's Encrypt,所有证书都完全有效。我可以验证它们是否可以很好地用于openssl s_client -connect mail.myserver.com:25 -starttls smtp
验证端口 465 上的 STARTTLS 和 SSL 的类似测试。
我说这一切都是为了证明这不是一个新的设置,除了这个单一的实例之外,一切似乎都设置正确并且运行顺利。
鉴于此,我发现自己无法接收来自特定供应商(我的健康提供者!)的电子邮件。查看后缀日志,我看到如下行:
postfix/smtpd[2016]: connect from mail1.static.mydoctor.com[xxx.xx.xx.xxx]
postfix/smtpd[2016]: SSL_accept error from mail1.static.mydoctor.com[xxx.xx.xx.xxx]: 0
postfix/smtpd[2016]: warning: TLS library problem: 2016:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:s3_pkt.c:1493:SSL alert number 42:
postfix/smtpd[2016]: lost connection after STARTTLS from mail1.static.mydoctor.com[xxx.xx.xx.xxx]
postfix/smtpd[2016]: disconnect from mail1.static.mydoctor.com[xxx.xx.xx.xxx]
这告诉我mail1.static.mydoctor.com
邮件服务器正在尝试通过 STARTTLS 连接到我的服务器mail.myserver.com
,但提供了错误的证书,因此我的后缀拒绝连接。如果我的解释不正确,请告诉我!
我确实需要接收这些特定的电子邮件,即使发件人做错了。在这种情况下什么样的解决方法可能有效?有没有办法放松证书检查以允许错误的证书?或者也许将该特定远程服务器列入白名单,以便接受它发送的任何内容?还有别的事吗?
这是错误的解释。日志中的“警报错误证书”意味着您的服务器已从发件人 MTA 收到此警报,因为发件人 MTA 无法验证您的证书。即,这不是发件人提供了错误的证书,而是您的服务器提供了发件人不接受的证书。
目前尚不清楚发件人 MTA 无法验证您的证书的原因。这可能是您的设置问题或发件人的设置问题。