Office 365 SMTP配置认证失败求助:535 5.7.3错误排查
Office 365 SMTP 认证失败(5.7.57/535 5.7.3)排查方案
针对你遇到的5.7.57 Client not authenticated to send mail和535 5.7.3 Authentication unsuccessful错误,可按以下步骤逐一排查:
检查租户SMTP AUTH权限
若租户启用了安全默认值,SMTP AUTH会被全局禁用,需单独为目标邮箱开启:- 进入Exchange Admin Center → 收件人 → 邮箱
- 选中
hajjaj@alhajjaji.com邮箱,点击「邮件流设置」→「邮件流权限」 - 勾选「使用SMTP AUTH发送邮件」并保存
验证应用密码有效性
- 确认应用密码是开启MFA后生成的,复制时无空格、大小写错误
- 生成应用密码时,确保账户未被限制邮件发送权限
代码优化(解决兼容性问题)
System.Net.Mail.SmtpClient已被标记为过时,对Office 365的现代认证支持不佳,建议替换为MailKit库,示例代码:using MailKit.Net.Smtp; using MimeKit; var message = new MimeMessage(); message.From.Add(new MailboxAddress("Sender", "hajjaj@alhajjaji.com")); message.To.Add(new MailboxAddress("Recipient", "hajjaj@gmail.com")); message.Subject = EmailSubject; message.Body = new TextPart("html") { Text = EmailMsg }; using (var client = new SmtpClient()) { client.Connect("smtp.office365.com", 587, MailKit.Security.SecureSocketOptions.StartTls); client.Authenticate("hajjaj@alhajjaji.com", "你的应用密码"); client.Send(message); client.Disconnect(true); }若坚持使用原
SmtpClient,确认代码顺序正确(先设UseDefaultCredentials = false,再赋值Credentials),部分环境下需额外设置smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network网络环境排查
- 确认服务器IP未被Office 365拉黑,可通过邮件跟踪日志或测试IP信誉
- 检查防火墙/代理是否拦截了587端口的流量,确保能正常连接
smtp.office365.com:587
内容的提问来源于stack exchange,提问作者HAJJAJ
相关产品推荐
相关产品推荐

