Yii框架下使用Outlook邮件服务器发送邮件失败求助
Yii配置Outlook SMTP发送邮件失败的排查要点
以下是你可能遗漏或配置错误的关键点:
发件人地址必须与SMTP用户名完全一致
Outlook SMTP服务器严格要求邮件的From地址必须和配置中的username完全匹配,不能使用其他邮箱作为发件人。比如你配置的username是xxx@outlook.com,发送邮件时的setFrom必须设置为该地址。移除不安全的SSL验证配置
你当前关闭了SSL证书验证的设置不仅存在安全风险,还可能导致Outlook服务器拒绝连接。建议删除streamOptions整个配置块,让SwiftMailer正常验证官方证书:'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'smtp.office365.com', 'username' => '你的Outlook邮箱', 'password' => '你的密码/应用密码', 'port' => 587, 'encryption' => 'tls', // 移除streamOptions相关配置 ],检查账户权限与认证方式
- 如果你的Outlook账户开启了多重身份验证(MFA),必须使用应用密码代替普通登录密码,普通密码会被服务器拒绝。
- 若为Office365商业账户,需确认管理员是否开启了SMTP客户端访问权限,部分企业会禁用SMTP强制使用Exchange API。
明确指定认证模式
可尝试在transport配置中添加authMode参数指定登录模式,Outlook支持LOGIN认证:'authMode' => 'LOGIN',
内容的提问来源于stack exchange,提问作者Pawan lakhera
相关产品推荐
相关产品推荐

