使用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
【问题讨论】:
如果UseDefaultCredentials
是true
,您在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服务器需要安全连接或客户端未通过身份验证[重复]的主要内容,如果未能解决你的问题,请参考以下文章
System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证