使用sendmail. 我有一个 Network Solutions 的电子邮件帐户,并SMART_HOST在我的sendmail配置中使用该帐户作为中继。除了一个小细节外,它运作良好。
在我的maillog文件中,我看到这样的条目:
sendmail[28450]: STARTTLS=client, relay=mail.example.com.netsolmail.net., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Run Code Online (Sandbox Code Playgroud)
经过一番研究,我得出的结论verify=FAIL是本质上是无害的:连接实际上是加密的,只是无法验证主机的证书。
因为除了我没有人读取日志文件,所以我不在乎。但是当消息到达时,Received标题显示
Received: from unknown (HELO example.com) (info@example.com@12.34.56.78)
by 0 with ESMTPA; 15 Aug 2016 07:10:15 -0000
Run Code Online (Sandbox Code Playgroud)
我希望看到,with ESMPTSA但我猜是证书验证失败导致“S”被压制。
如何获得有关证书问题的更多详细信息,以及如何避免验证失败?我的猜测是 的多个子域mail.example.com.netsolmail.net与证书上的名称不够匹配。但是我如何验证这一点,以及如何避免投诉 - 或者更确切地说,我如何才能获得Received标头以确认与ESMTPSA.
编辑:我编辑sendmail.mc添加
define(`confLOG_LEVEL', `15')dnl
Run Code Online (Sandbox Code Playgroud)
现在maillog 提供了更多详细信息。就在verify=FAIL我现在看到的行之后:
sendmail[30706]: STARTTLS=client, cert-subject=/OU=GT39680792/OU=See+20www.rapidssl.com/resources/cps+20+28c+2915/OU=Domain+20Control+20Validated+20-+20RapidSSL+28R+29/CN=*.hostingplatform.com, cert-issuer=/C=US/O=GeoTrust+20Inc./CN=RapidSSL+20SHA256+20CA+20-+20G3, verifymsg=unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)
我认为这意味着验证失败的至少一个原因是 sendmail 找不到运行它的本地计算机的证书?由于我只是将外发邮件中继到 netsol 服务器,从不接受来自 …