gpt4 book ai didi

php - 如何使用 PHP 中的 Swiftmailer 库发送带有 STARTTLS 和自签名证书的邮件

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:58 30 4
gpt4 key购买 nike

我想使用 SwiftMailer 类库在 PHP 脚本中发送邮件。

Mailserver 提供STARTTLS 命令并使用自签名证书。

问题是 SwiftMailer 发送邮件似乎是个问题。

如果我像这样简单地使用 coee 来初始化传输:

$transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls")
->setUsername("user@example.com")
->setPassword("example");

此错误显示:

Uncaught Swift_TransportException: Unable to connect with TLS encryption

我已经在这里和其他地方搜索过了。我在 StackOverflow 上找到了这个帖子:PHP - Swiftmailer using STARTTLS and self signed certificates

但是当我像这样将提到的方法添加到上面的代码中时:

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

完整的 block 看起来像这样:

 $transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls")
->setUsername("user@example.com")
->setPassword("example")
->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));

我收到这个错误:

Call to undefined method setStreamOptions

所以看起来提到的方法已被删除或重命名。我在 SwiftMailer 文档中对此一无所知。网上只提到了几个解决方案来修补库。这些方式我都不去查,因为不想修改库代码。

我的 SwiftMailer 版本是实际的 5.4.2。有没有办法在不修补库的情况下解决这个问题,如果有必要这样做,必须如何做到这一点。

希望有人能帮助我。

最好的问候

附言希望我做得很好,我的英语是可以理解的。如果有问题请提问。

最佳答案

我来晚了,但尝试升级到最新的 swiftmailer 版本,它会解决你的问题。我有 5.4.1 版并切换到 5.4.6 以使其正常工作

关于php - 如何使用 PHP 中的 Swiftmailer 库发送带有 STARTTLS 和自签名证书的邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37061299/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com