You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET C# Web Forms切换至Outlook 365后邮件发送失败求助

解决Outlook 365 SMTP发送邮件报错“General failure”问题

问题背景

切换至Outlook 365前,本地使用以下代码发送邮件:

SmtpClient smtpClient = new SmtpClient(ConfigurationManager.AppSettings["EMailServer"]);
smtpClient.Send(message);

切换后使用新代码发送邮件时,持续报错“Failed to send email”“General failure”,新代码如下:

SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredentmailial("email address", "network password");
client.Port = 25; // You can use Port 25 if 587 is blocked (mine is!)
client.Host = "smtp.office365.com";
//client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.TargetName = "STARTTLS/smtp.office365.com";
client.Send(message);

修复步骤

  • 修正拼写错误
    代码中NetworkCredentmailial是明显的拼写错误,正确类名为NetworkCredential,该错误会直接导致凭证初始化失败。

  • 调整端口与SSL配置
    Outlook 365 SMTP官方推荐使用587端口,25端口通常会被ISP或企业防火墙拦截,且Office 365对25端口的发送限制较多。同时可以移除TargetName属性,.NET的SmtpClient连接smtp.office365.com时会自动处理该配置。

  • 确保凭证设置顺序正确
    必须先设置UseDefaultCredentials = false,再赋值Credentials,否则系统默认凭证会覆盖自定义的账号密码。

  • 启用DeliveryMethod
    取消注释client.DeliveryMethod = SmtpDeliveryMethod.Network;,明确指定通过网络发送邮件,避免潜在的配置冲突。

  • 验证账号权限
    如果账号开启了MFA(多因素认证),需使用应用密码而非普通登录密码;同时确认该Office 365账号被允许通过SMTP发送邮件(部分企业租户会限制SMTP权限)。

修正后的代码示例

// 针对旧.NET Framework版本,强制启用TLS 1.2(Office 365不再支持低版本TLS)
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
// 替换为实际Office 365邮箱和密码/应用密码
client.Credentials = new System.Net.NetworkCredential("your-office365-email@domain.com", "valid-password");
client.Port = 587;
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Send(message);

额外排查点

检查服务器或本地防火墙是否允许出站连接到smtp.office365.com的587端口;如果使用.NET Framework 4.5及以下版本,需要手动启用TLS 1.2(代码示例已包含)。

内容的提问来源于stack exchange,提问作者user3570063

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 19:50:46