我一辈子都弄不明白为什么这行不通
SmtpClient smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
UseDefaultCredentials = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential("myemail@gmail.com", "myGmailPasswordHere"),
EnableSsl = true,
Timeout = 10000
};
smtp.Send(mail);
我得到:
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required.
我刚刚将 EnableSsl 指定为 true,因此这不应该成为安全连接方面的问题。
我正在从本地主机运行它。是的,我输入的用户名和密码(我的 gmail 帐户凭据)是 100% 正确的。
最佳答案
我知道这是一个老话题,但是......谷歌已经改变了他们的安全设置。
我一直在努力寻找所有答案,直到我检查了我的电子邮件,其中包含一封来自 Google 的邮件,上面写着“我们最近阻止了对您的 Google 帐户的登录尝试”。
这让我进入了这个页面: Google Account Security
在“访问安全性较低的应用程序”部分下,您可以允许从其他设备/应用程序访问您的帐户...例如您的 C# 应用程序。
请注意,不再有“应用程序特定”部分。
希望这对某人有帮助...我刚刚失去了 30 分钟...
关于c# - 无法通过 MailMessage 和 smtpClient 授权 Gmail smtp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9104645/