我正在尝试使用此代码,以便使用他输入的邮件向用户发送密码。
SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("fzc.solutions@gmail.com", "********");
//de qui, a qui, objet, sujet
MailMessage mm = new MailMessage("bluepenlabs.aux@gmail.com", "fzc.solutions@gmail.com", "test", "test");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);
这是错误:
Une例外非géréedu'System.Net.Mail.SmtpException's'est produite dans System.dll
信息supplémentaires:Le serveur SMTP requiert une connexion sécuriséeouleclientn'étaitpasauthentifié。 Lareéponseduserveur était:5.5.1需要验证。
了解更多信息
我会在这里翻译:
“System.Net.Mail.SmtpException”类型的未处理异常 发生在System.dll
中其他信息:SMTP服务器需要安全连接 或者客户端未经过身份验证。服务器响应是:5.5.1 需要验证。
了解更多信息
虽然我尝试了两个不同的gmails帐户,同样的错误,我确定密码是正确的。当我将端口更改为465时,我收到此错误:
“System.Net.Mail.SmtpException”类型的未处理异常 发生在System.dll中 附加信息:操作超时已到期。
我将Timeout设置为10000,20000甚至100000仍然没有!
请帮助谢谢!
答案 0 :(得分:1)
请注意gmail"锁定"如果您尝试了几次但没有成功,该帐户。我用我的私人Gmail帐户尝试了不同的代码示例,一切都失败了。当我读到GMail的要求时,我创建了一个新的gmail帐户并获得了相同的代码。
代码与您的代码非常相似,但NetworkCredentials除外。这是代码来自另一个StackOverflow问题(尝试使用我的私人帐户但没有成功,因为多次尝试):Send email using System.Net.Mail through gmail
//Code
MailMessage mail = new MailMessage();
mail.From = new System.Net.Mail.MailAddress("***@gmail.com");
SmtpClient smtp = new SmtpClient();
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(mail.From.Address, "****");
smtp.Host = "smtp.gmail.com";
//recipient
mail.To.Add(new MailAddress("***@gmail.com"));
mail.IsBodyHtml = true;
string st = "Test";
mail.Body = st;
smtp.Send(mail);
答案 1 :(得分:0)
默认情况下,Gmail帐户禁用低安全应用访问权限的访问权限。 可以通过在安全选项下的电子邮件帐户中访问低安全性应用来解决此错误。