php 邮件签名,PHP – 使用STARTTLS和自签名证书的Swiftmailer

我正在尝试使用STARTTLS发送带有php和swiftmailer的电子邮件,但我收到了证书错误.我具有SMTP服务器的root访问权限,并且使用的证书是自签名的.

我在两台机器上使用Debian(Web服务器和smtp服务器)

PHP消息:PHP警告:stream_socket_enable_crypto():SSL操作失败,代码为1. OpenSSL错误消息:

错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:第97行的[..] / lib / classes / Swift / Transport / StreamBuffer.php中的证书验证失败

PHP消息:PHP致命错误:[..] / lib / classes / Swift / Transport / EsmtpTransport.php中未捕获的异常’Swift_TransportException’,消息’无法连接TLS加密’:294

我是否需要在某个地方添加自己的证书才能接受它?或者这是一些OpenSSL配置错误?

解决方法:

Swiftmailer现已更新,包括一个选项.现在可以使用Swift_SmtpTransport实例中的setStreamOptions方法解决它,而不是编辑swift类.

$transport = Swift_SmtpTransport::newInstance('smtp.server.com', 123, 'tls')

->setUsername('username')

->setPassword('password')

->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));

标签:swiftmailer,self-signed,php,certificate,smtp

来源: https://codeday.me/bug/20190928/1828187.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值