使用 C# 发送邮件 [重复]

Posted

技术标签:

【中文标题】使用 C# 发送邮件 [重复]【英文标题】:Send Mail with C# [duplicate] 【发布时间】:2012-05-01 00:05:12 【问题描述】:

尽管 *** 上有关于此的所有主题。我无法找到这个问题的解决方案:

我有这个例外:

SMTP 服务器需要安全连接,或者客户端不需要 认证。来自服务器的回复是:5.5.1 Authentication 必需的。了解更多信息,请访问

使用此代码:

    var fromAddress = new MailAddress(user.Email, "From Name");
    var toAddress = new MailAddress("myadress@gmail.com", "To Name");
    const string fromPassword = "fromPassword";
    const string subject = "Subject";
    const string body = "Body";

    var smtp = new SmtpClient
    
        Host = "smtp.gmail.com",
        Port = 587,
        EnableSsl = true,
        DeliveryMethod = SmtpDeliveryMethod.Network,
        UseDefaultCredentials = false,
        Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
        Timeout = 20000
    ;
    using (var message = new MailMessage(fromAddress, toAddress)
    
        Subject = subject,
        Body = body
    )
    
        smtp.Send(message);
    

请问我错过了什么? 感谢您的帮助

【问题讨论】:

这个问题之前在 SO 上被问及回答过 - 你在问之前搜索过吗? ***.com/questions/704636/… 查看以下内容:***.com/questions/704636/… 检查您的密码并确保它是一个强密码,就 Google 而言。 【参考方案1】:

你没有错过任何东西。我怀疑你的密码错误。您没有忘记将其从“fromPassword”更改为真正应该的,对吗?

This is a cleaner implementation of the same task

【讨论】:

【参考方案2】:

您输入的密码不正确,或者(更有可能)您在启用 Google 的 2-Step Authentication 后尝试使用普通密码

您需要生成并使用application specific password

【讨论】:

【参考方案3】:

这段代码对我有用

  SmtpClient sc = new SmtpClient("smtp.gmail.com");
  NetworkCredential nc = new NetworkCredential("username","password");
  //username doesn't include @gmail.com         
   sc.UseDefaultCredentials = false;
   sc.Credentials = nc;
   sc.EnableSsl = true;
   sc.Port = 587;
     try
      
       sc.Send(mm);
       
     catch (Exception ex)
      
        EventLog.WriteEntry("Error Sending", EventLogEntryType.Error);
      

【讨论】:

以上是关于使用 C# 发送邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用c#在asp.net中发送邮件失败[重复]

使用gmail smtp c#发送电子邮件[重复]

从c#代码发送电子邮件[重复]

使用c#发送电子邮件SMTP服务器需要安全连接或客户端未通过身份验证[重复]

如何使用 Gmail SMTP 服务器在 C# 中发送邮件? [复制]

GMAIL API 在 C# 中发送带附件的电子邮件