繁体   English   中英

发送 email 无需在 google 中启用不太安全的应用程序

[英]Send an email without having to enable less secure apps in google

我在 C# 中发了一封电子邮件,但您必须在 google 中启用不太安全的应用程序。 有没有解决的办法? 如果不是,其他应用程序如何安全地发送电子邮件而不被归类为安全性较低的应用程序?

private void SendButton_Click(object sender, EventArgs e) {
       try {
           SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

           mail.From = new MailAddress(myUsername);
           mail.To.Add(RecipientEmailBox.Text);
           mail.Subject = SubjectField.Text;
           mail.Body = MessageField.Text;

           SmtpServer.Port = 587;
           SmtpServer.Credentials = new 
           System.Net.NetworkCredential(myUsername, Login.password);
           SmtpServer.EnableSsl = true;

           SmtpServer.Send(mail);
           MessageBox.Show("Message Sent!");

       } catch (Exception ex) {
           MessageBox.Show(ex.ToString());
       }
}

我试图研究解决这个问题的方法,但我找不到任何东西。

您不能再将您的 Google 帐户配置为允许来自不太安全的应用程序的连接,因为 Google 从 2022 年 5 月 30 日起禁用了该选项。您必须为您的 Google 帐户生成应用程序密码。

首先 go 到https://myaccount.google.com/security并启用两步验证。 完成此操作后,go 到“应用程序密码”并为邮件应用程序生成应用程序密码以在windows 计算机上使用。 它将在黄色框中显示您的新应用密码,将其用作您的Login.password

我认为这是问题的答案

您可以将 Google OAuth API 与 C# 一起使用。 有关如何操作,请阅读指南。

emailarchitect程序(在emailarchitect.com上找到)具有使用其组件为不同编程语言设置电子邮件程序的示例。 您可以从他们的网站下载他们的 EASendmail smtp 组件。 这个程序有一个用google Oauth发送邮件的例子,解决了这个问题。 您可以复制一些代码,获取您自己的 Oauth 客户端 id 和密码,并使用它发送邮件。 超级简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM