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

Posted

技术标签:

【中文标题】使用c#发送电子邮件SMTP服务器需要安全连接或客户端未通过身份验证[重复]【英文标题】:Send email using c# The SMTP server requires a secure connection or the client was not authenticated [duplicate] 【发布时间】:2015-05-11 19:50:46 【问题描述】:

我正在使用 c# 创建示例电子邮件发件人,但它显示错误是:

SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应是:5.5.1 身份验证 必需。

private void SendhtmlFormattedEmail(string recepientEmail, string subject, string body)

    using (MailMessage mailMessage = new MailMessage())
    
       mailMessage.From = new MailAddress("sysumurugan@gmail.com");
       mailMessage.Subject = subject;
       mailMessage.Body = body;
       mailMessage.To.Add(new MailAddress(recepientEmail));
       SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
       smtp.EnableSsl = true;
       smtp.UseDefaultCredentials = false;
       System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential("sysumurugan@gmail.com", "XXXXXXXXX");
       smtp.Credentials = NetworkCred;
       smtp.Timeout = 10000;
       smtp.Send(mailMessage);
    

请帮我获取邮件发件人代码示例

状态:System.Net.Mail.SmtpStatusCode.MustIssueStartTlsFirst

【问题讨论】:

如果UseDefaultCredentialstrue,您在NetworkCred 中提供的凭据将被忽略。 MSDN 【参考方案1】:

尝试像这样交换这些行:

smtp.UseDefaultCredentials = false;
System.Net.NetworkCredential NetworkCred = new    System.Net.NetworkCredential("sysumurugan@gmail.com", "XXXXXXXXX");

【讨论】:

我交换这些行并运行,但仍然显示相同的错误。 这个问题之前已经回答过:***.com/questions/20906077/… 非常感谢您【参考方案2】:

我访问了以下链接: https://www.google.com/settings/security/lesssecureapps

并打开选项访问不太安全的应用程序

【讨论】:

以上是关于使用c#发送电子邮件SMTP服务器需要安全连接或客户端未通过身份验证[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 live/gmail smtp 发送电子邮件

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

如何通过 Gmail 使用 C# 发送电子邮件

System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证

SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应是:5.5.1 需要身份验证?

使用 localhost SMTP 发送邮件