如何在PHP中使用Swiftmailer库使用STARTTLS和自签名证书发送邮件
我想使用SwiftMailer类库在PHP脚本中发送邮件 Mailserver提供STARTTLS命令并使用自签名证书 问题是SwiftMailer tgo发送邮件似乎有问题 如果我只是像这样使用coee来初始化传输:如何在PHP中使用Swiftmailer库使用STARTTLS和自签名证书发送邮件,php,email,ssl,swiftmailer,Php,Email,Ssl,Swiftmailer,我想使用SwiftMailer类库在PHP脚本中发送邮件 Mailserver提供STARTTLS命令并使用自签名证书 问题是SwiftMailer tgo发送邮件似乎有问题 如果我只是像这样使用coee来初始化传输: $transport = Swift_SmtpTransport::newInstance("server.example.com", 25, "tls") ->setUsername("user@example.com") ->setPassword("exampl
$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上找到此线程:
但当我将上述方法添加到上述代码中时,如下所示:
->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));
$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)));
块的完整外观如下所示:
->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));
$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文档中对此一无所知。在web上提到的修补库的解决方案很少。我没有检查这些方法,因为我不想修改库代码
我的SwiftMailer版本是实际的5.4.2
。有没有一种方法可以在不修补库的情况下解决此问题?如果有必要,必须如何解决
希望有人能帮助我
致意
另外,希望我做得很好,我的英语可以理解。如果有问题,请询问。我迟到了,但请尝试升级到最新的swiftmailer版本,它将解决您的问题。我有5.4.1版,然后切换到5.4.6版以使其正常工作