我有 VPS(服务器 A)和托管(服务器 B)。在服务器A,我已经设置了邮件服务器(debian、postfix、dovecot、postfixadmin 和 roundcube、自签名证书、仅 TLS 身份验证),它运行良好:
- 我可以发送和接收通过 roundcube 记录的消息,
- 我可以从邮政客户端(例如雷鸟)发送和接收消息,
- 我可以在本地机器上从网站发送电子邮件,
- 我可以从托管于的网站发送电子邮件服务器B(symfony2/swiftmailer)。
问题是无法从网站发送电子邮件(原始网站的准确副本来自服务器B) 托管于服务器A(与邮件服务器相同)。我在日志中收到以下消息:
10月26日 19:45:00 vps105120 postfix/smtpd[3107]: 连接自领域[知识产权]
10月26日 19:45:00 vps105120 postfix/smtpd[3107]: SSL_accept 错误来自领域[知识产权]: 0
十月 26 19:45:00 vps105120 postfix/smtpd[3107]: 警告:TLS 库问题:3107:错误:14094418:SSL rutines:SSL3_READ_BYTES:tlsv1 警报未知 ca:s3_pkt.c:1258:SSL 警报编号 48:
十月 26 19:45:00 vps105120 postfix/smtpd[3107]:STARTTLS 后丢失连接领域[知识产权]
10月26日 19:45:00 vps105120 postfix/smtpd[3107]: 断开与领域[知识产权]
有什么想法可以解决这个问题吗?
答案1
我已经明白了:),正如预期的那样,结果尽可能简单......
我的证书无法被 openssl 读取,在将名为 cert hash 的链接添加到 /etc/ssl/certs/ 后,一切都运行正常。
答案2
Let's encrypt 证书也可能发生这种情况。我遇到过类似的问题,这是由于在 postfix 配置中使用 cert.pem 引起的。我通过将证书更改为 fullchain.pem 解决了这个问题。大多数 smtp 客户端都正常。问题主要出在 php 客户端上。