【发布时间】:2015-05-18 10:16:09
【问题描述】:
我正在使用 c# 创建示例电子邮件发件人,但它显示错误是:
SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 Authentication Required。
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add("toAddress@gmail.com");
mail.From = new MailAddress("fromAddress@gmail.com", "Test Mail !", System.Text.Encoding.UTF8);
mail.Subject = "Test Mail";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "Test message";
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("myMail@gmail.com", "password");
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.Send(mail);
网络配置:
<system.net>
<mailSettings>
<smtp from="myMail@gmail.com">
<network host="smtp.gmail.com" password="password"
port="587" userName="myMail@gmail.com" />
</smtp>
</mailSettings>
</system.net>
【问题讨论】:
-
启用安全性较低的应用。这是 google 为 gmail 提出的安全问题。检查我的答案
-
您的 Google 帐户是否启用了双重身份验证?如果是这样,您可以生成一个唯一的应用密码,而不是您的普通密码。
-
@Reshma 查看 Google 的这篇文章:Sign in using App Passwords
标签: c# email authentication