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

如何在C#中编程发送邮件?Gmail SMTP认证异常求助

解决Gmail SMTP发送邮件认证失败问题

出现「SMTP服务器需要安全连接或客户端未通过认证,服务器响应5.7.0」错误,核心原因是Gmail限制了普通密码直接用于SMTP登录,按以下步骤解决:

  • 给Google账号开启两步验证:登录账号后进入「安全」设置,找到两步验证选项并启用。
  • 生成应用专用密码:在安全设置的「应用专用密码」板块,创建一个用于邮件客户端的密码(选择「邮件」应用,设备可随意选择),这个密码就是代码中需要填写的password值。
  • 确认代码配置:
    • 保证UseDefaultCredentials = false在设置Credentials之前执行(你的代码顺序正确,请勿调整)
    • EnableSsl = true必须开启,Gmail SMTP强制要求SSL连接

修改后的代码示例:

try
{
    MailMessage mail = new MailMessage();

    mail.From = new MailAddress("account1@gmail.com");
    mail.To.Add("account2@gmail.com");
    mail.Subject = "Hello World";
    mail.Body = "<h1>Hello</h1>";
    mail.IsBodyHtml = true;
    // mail.Attachments.Add(new Attachment(@"C:\file.zip"));

    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);

    smtp.UseDefaultCredentials = false;
    // 替换此处password为生成的应用专用密码
    smtp.Credentials = new NetworkCredential("account1@gmail.com", "生成的应用专用密码");
    smtp.EnableSsl = true;
    smtp.Send(mail);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:05:25