Symfony 邮件程序 SSL routines:tls_process_server_certificate:certificate 验证失败

Symfony mailer SSL routines:tls_process_server_certificate:certificate verify failed

这是我第一次尝试通过 symfiny 邮件程序发送邮件,通常是邮件。

我不确定我还需要在哪里或如何配置一些东西。所以这是我的邮件程序 DSN 配置。

MAILER_DSN=smtp://MAIL.com:PASSWORD@sslout.df.eu:465/?encryption=ssl&auth_mode=login

我收到以下错误

Connection could not be established with host "ssl://sslout.df.eu:465": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

官方文档说 (https://www.df.eu/blog/sslin-df-eu-sslout-df-eu/)

 Postausgangsserver:
Typ: SMTP
Servername: sslout.df.eu
Port: 465
Benutzername: Ihre E-Mail-Adresse
Kennwort: Das von Ihnen gewählte Passwort
SSL: Ja

有人知道我还需要配置什么才能发送电子邮件吗?

谢谢

我遇到了同样的问题,这是由 Exim4 配置问题引起的。请注意,我是在本地开发服务器上执行此操作的,在生产服务器上禁用 SSL 是不安全的。我在 Ubuntu 20.04 LTS 上完成了此操作。

检查 exim4 配置:

/usr/sbin/exim4 -bP tls_advertise_hosts

如果显示“tls_advertise_hosts = *”,那么它将检查所有主机。请参阅 http://www.exim.org/exim-html-3.20/doc/html/spec_38.html 您可以通过 运行ning 验证这一点:

sudo update-exim4.conf

如果您收到此错误消息:

Warning: No server certificate defined; will use a selfsigned one.
 Suggested action: either install a certificate or change tls_advertise_hosts option

那么您就知道 tls_advertise_hosts 选项确实是问题所在。所以需要编辑配置文件:

sudo nano /etc/exim4/exim4.conf.template

在“.ifdef MAIN_TLS_ENABLE”之前,添加以下行。 (在“.ifdef MAIN_TLS_ENABLE”之前添加它很重要,因为 MAIN_TLS_ENABLE 可能根本没有定义,所以它不会使用其范围内的任何设置。)

tls_advertise_hosts =

所以它看起来像:

tls_advertise_hosts =
.ifdef MAIN_TLS_ENABLE

所以没有星号!然后保存文件并再次 运行 命令:

/usr/sbin/exim4 -bP tls_advertise_hosts
sudo update-exim4.conf

现在 exim4 应该显示“tls_advertise_hosts =”并且警告消息应该已经消失。

现在重启exim4:

sudo systemctl restart exim4

然后在 Symfony 中重试。

另请参阅此主题:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=948573