连接超时Symfony2 Swiftmailer和Outlook

时间:2016-03-03 10:24:13

标签: php symfony email outlook swiftmailer

当我想通过Swiftmailer发送包含Outlook的电子邮件时,我有连接超时...

  

无法与主机smtp-mail.outlook.com建立连接   [连接超时#110]

我在这里和互联网上阅读了很多东西,但没有任何效果...... 但是我尝试使用该帐户设置Thunderbird,并且它有效(软件使用STARTTLS而不是TLS)。

以下是我的参数:

dev_mailer_transport: smtp
dev_mailer_host: smtp-mail.outlook.com
dev_mailer_port: 587
dev_mailer_user: USERNAME
dev_mailer_password: PASSWORD

这是我的配置:

swiftmailer:
    encryption: tls
    auth_mode: login

以下是用于发送电子邮件的代码:

$message = \Swift_Message::newInstance()
                        ->setSubject($subject)
                        ->setFrom("no-reply@test.com")
                        ->setTo($data["email"])
                        ->setBody(nl2br($content), 'text/html');
$this->container->get('mailer')->send($message);

1 个答案:

答案 0 :(得分:4)

对我有用的是config.yml:

swiftmailer:
    transport:          "%mailer_transport%"
    host:               "%mailer_host%"
    port:               "%mailer_port%"
    username:           "%mailer_user%"
    password:           "%mailer_password%"
    encryption:         "%mailer_encryption%"
    delivery_address:   "%mailer_delivery_adress%"

和parameters.yml:

mailer_transport: smtp
mailer_host: smtp.office365.com
mailer_port: 587
mailer_user: user@example.com
mailer_password: mypassword
mailer_encryption: tls
mailer_delivery_adress: someadress@example.com

请注意,Microsoft在邮件服务器的大小,频率和负载方面存在一些限制。

我的示例是针对Outlook365而不是Outlook.com,但唯一的区别是确切的smtp服务器地址。