gpt4 book ai didi

php - Symfony 和 SwiftMailer 使用 starttls 发送

转载 作者:行者123 更新时间:2023-12-04 17:55:02 25 4
gpt4 key购买 nike

有人可以向我解释 SSL 和 STARTTLS 与 PHP 的工作原理吗?

我有一个带有 Postfix 和 Dovecot 的专用服务器(由 plesk 管理)。我没有 SSL。

为了接收和发送我的电子邮件,我使用带有 STARTTLS 的 SMTP/IMAP。

但是在 PHP 中,使用 Swiftmailer 和 Symfony,我只有两个选择:ssl 或 tls。
在我的情况下,这两个都不起作用,电子邮件不会离开。

在stackoverflow上搜索,我把它放在我的代码中,这个工作:

$transport = \Swift_SmtpTransport::newInstance('smtp.server.fr', 587, 'tls')
->setUsername($username)
->setPassword($password)
->setStreamOptions(array('ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)));

$mailer = \Swift_Mailer::newInstance($transport);

你觉得我的配置对吗?

最佳答案

端口 587您提供的选项表明选项 tls是正确的。所以为了让它在 Symfony 和 Swiftmailer 中工作,你不需要实例化一个新的 SmtpTransport .

只需将以下内容添加到您的 Swiftmailer 配置 config.yml :

Swiftmailer
# here are some other swiftmailer options like host, user etc.
stream-options:
ssl:
allow_self_signed : true
verify_peer: false

继续像往常一样使用 swiftmailer。

关于php - Symfony 和 SwiftMailer 使用 starttls 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41013875/

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