gpt4 book ai didi

c# - 当发送帐户使用双因素身份验证时,如何使用 Gmail 和 SmtpClient 发送电子邮件?

转载 作者:太空宇宙 更新时间:2023-11-03 20:00:52 25 4
gpt4 key购买 nike

            SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential =
new NetworkCredential("sender@gmail.com", "password");
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress("sender@gmail.com");

smtpClient.EnableSsl = true;
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;

message.From = fromAddress;
message.Subject = "your subject";
//Set IsBodyHtml to true means you can send HTML email.
message.IsBodyHtml = true;
message.Body = "<h1>Hello, this is a demo ... ..</h1>";
message.To.Add("receiver@gmail.com");

try
{
smtpClient.Send(message);
}
catch (Exception ex)
{
//Error, could not send the message
ex.ToString();
}

//问题是这段代码在没有电话号码保护的情况下适用于 gmail。将此代码与通过客户端电话号码保护(验证)的 gmail 一起使用时会发生异常。

解决方案之一是使用远程服务器访问客户端邮件。

现在我的问题是还有另一种方法可以解决这个问题吗?第三方除外。

最佳答案

如果我没理解错的话,你是说 Google 帐户正在使用双因素身份验证。

如果是这种情况,您需要为此创建一个应用程序密码。转到 https://security.google.com/settings/security/apppasswords以您要进行双因素身份验证的帐户登录后。

在列表中,在 Select App 下选择“Other”并为其命名。单击“生成”,然后将此密码写下来,因为您只会看到一次。您将在身份验证中使用它。它将有 16 个字符长,空格无关紧要,您可以包含或省略它们。我把它们放在这里只是因为。

NetworkCredential basicCredential =
new NetworkCredential("sender@gmail.com", "cadf afal rqcf cafo");
MailMessage message = new MailMessage();

关于c# - 当发送帐户使用双因素身份验证时,如何使用 Gmail 和 SmtpClient 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com