【问题标题】:Symfony and SwiftMailer sending with starttlsSymfony 和 SwiftMailer 使用 starttls 发送
【发布时间】:2017-04-22 04:26:10
【问题描述】:

有人可以向我解释 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);

你认为我的配置正确吗?

【问题讨论】:

标签: php symfony swiftmailer starttls


【解决方案1】:

您提供的端口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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    相关资源
    最近更新 更多