Postfix TLS 库问题:使用 sendgrid-mailer 从 PHP 应用程序发送电子邮件时出现错误:14094418

问题描述 投票:0回答:1

我有一个旧版 PHP 应用程序在 Rocky Linux 8 上的 Apache 2.4.37 上运行。它使用 sendgrid-mailer 来发布电子邮件。配置如下:

MAILER_DSN=smtp://127.0.0.1:25

我在同一主机上运行 Postfix。尝试从 PHP 应用程序发送电子邮件时,会记录以下错误,并且不会发布电子邮件。

Aug 21 15:47:41 MyLAMPServer postfix/smtpd[2215547]: warning: TLS library problem: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:ssl/record/rec_layer_s3.c:1544:SSL alert number 48:

我的理解是我的 PHP 应用程序(客户端)和 Postfix 之间的 SSL 验证失败 - 它正在尝试验证 127.0.0.1 (localhost)。

与默认不同的Postfix配置(postconf -n)是:

mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = $myhostname
mynetworks_style = host
myorigin = $mydomain
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_CApath = /etc/pki/tls/certs
smtp_tls_security_level = may
smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
smtpd_tls_security_level = may

关于如何修复它或绕过验证有什么想法吗?

php sendgrid postfix-mta rocky-os
1个回答
0
投票

我不确定这是最安全的方法,但由于我的 PHP 站点和 Postfix 位于同一主机上,我决定将自签名证书从 PEM 转换为 CRT 格式,将其添加到 CA Trust 目录并更新 CA信任商店。

openssl x509 -in /etc/pki/tls/certs/postfix.pem -out ~/downloads/postfix.crt
cp ~/downloads/postfix.crt /etc/pki/ca-trust/source/anchors/.
update-ca-trust

我不再看到错误。

© www.soinside.com 2019 - 2024. All rights reserved.