Symfony是抛出错误时,我试图发送电子邮件。显然有ssl证书验证失败。该项目正在运行的linux nginx服务器。.env
文件具有以下配置。
MAILER_URL=smtp://user:pass@mail.ourserver.de??encryption=ssl&auth_mode=login
错误日志
错误:无法发送邮件:向以下收件人发送邮件失败:{{收件人}}出现错误:无法建立与主机“ssl:mail.ourserver.de:465”的连接:stream_socket_client():SSL操作失败,代码为1。OpenSSL错误消息:错误:1416 F086:SSL例程:tls_process_server_certificate:证书验证失败错误代码:0
我是否需要为域(在本例中为“www.example.com“)获取ssl证书mail.ourserver.de,并在linux openssl配置中添加cert
和key
?
我在stackoverflow的答案中发现了它,但不确定这是否是一个好的做法,这是否会使ssl连接容易受到攻击?verify_peer=falseparameter
MAILER_URL=smtp://user:pass@mail.ourserver.de??encryption=ssl&auth_mode=login&verify_peer=false
如果我禁用verify_peer选项,它确实可以工作,但是当对等验证设置为false或完全禁用时,是否会进行ssl验证?
2条答案
按热度按时间ars1skjm1#
无法验证您的服务器证书。这里有一个检查和更新证书的指南。(这是针对
PHPMailer
的,但关于证书的部分仍然相关)3j86kqsm2#
如果您不是自己添加SSL证书,而是使用SSL,则可能已经有了自动生成的自签名证书。
是的,您需要为服务器分配一个域名,并为其获取有效的、可信的SSL证书。您可以使用免费的LetsEncrypt服务。具体细节取决于邮件服务器软件。