我尝试在symfony中使用swiftmailer和office365服务器注册后发送确认邮件。我已经尝试了我遇到的主机,端口和加密类型的每一种组合。
目前我的.env文件包含这一行:
MAILER_URL=smtp://smtp.office365.com:587?encryption=ssl&auth_mode=login&username="[email protected]"&password="mypassword"
- 注意事项:我使用““作为我的用户名和密码,因为它们包含特殊字符,我在某个地方读到过,这可能会导致MAILER_URL的问题。
我的swiftmailer.yaml文件包含以下内容:
swiftmailer:
url: '%env(MAILER_URL)%'
stream-options:
ssl:
allow_self_signed : true
verify_peer: false
最后,我在控制器中使用以下代码发送电子邮件:
$message = (new \Swift_Message('Referral tool registration'))
->setFrom('[email protected]')
->setTo('[email protected]')
->setBody(
$this->renderView(
'email/notification/user_registered.html.twig',
['firstName' => $user->getFirstName(),
'lastName' => $user->getLastName()
]
),
'text/html'
);
$mailer->send($message);
使用当前选择的主机、端口和加密,我得到:"Connection could not be established with host smtp.office365.com [ #0]"
**更新:**当我在telnet smtp.office365.com 587中键入时,我得到了有效的响应,因此我认为问题与网络无关,端口未被阻塞。
5条答案
按热度按时间jmp7cifd1#
您必须使用
encryption=tls
,urlencode您的USER_NAME和PASSWORD,并且您不应该像以前那样将USER_NAME和PASSWORd用引号括起来。让我们假设这些凭据并对它们进行urlencode:
使用上述凭据的正确配置如下所示:
pcrecxhr2#
我也有类似的问题,我通过登录帐户和更改密码解决了它。
我的情况-帐户是新的,登录后的第一个屏幕是与字段输入:当前密码,新的通行证,重复通行证。
我的环境:
kqhtkvqz3#
试试这个:
uqdfh47h4#
Symfony 4使用Mailer Component,如果您熟悉,则可以使用env变量,如下所示
AND config/packages/mailer.yml
唯一预装的传输是SMTP。不需要任何其他传输包,不像谷歌邮件或亚马逊邮件。
对我很有效。
polhcujo5#
在Symfony 4这一个它是与我合作