c# SMTP服务器需要一个安全连接,或者客户端没有经过身份验证.服务器响应是:5.7.0 Authentication



我正在尝试使用c#使用以下函数发送电子邮件:

public static void SendEmail(string fromAddress, string password)
{
SmtpClient email = new SmtpClient
{
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
EnableSsl = true,
Host = "smtp.gmail.com",
Port = 587,
Credentials = new NetworkCredential(fromAddress, password)
};
string subject = "Mail subject";
string body = "Body";
try
{
Console.WriteLine("Sending email...");
email.Send(fromAddress, GetToAddress(), subject, body);
} catch (SmtpException e)
{
Console.WriteLine(e.Message);
}
}

我看到为了让它工作,我需要在我的gmail帐户上启用不太安全的应用程序。然而,根据谷歌的说法,为了保护你的账户安全,从2022年5月30日起,谷歌不再支持使用第三方应用程序或设备,这些应用程序或设备只要求你使用用户名和密码登录你的谷歌账户。"。还有其他邮寄方式吗?

你可以在Google帐户上启用双因素认证,然后创建一个应用程序密码

如何创建应用程序密码

这将生成16个字符的"App密码"。然后使用之前使用的完全相同的代码,将标准用户Gmail密码替换为应用程序密码。

,

SendEmail("Nave@gmail.com", "iodwsurnuyjfsxdc") // here iodwsurnuyjfsxdc means app password and Nave@gmail.com means app pass generated account email

相关内容

  • 没有找到相关文章

最新更新