【发布时间】:2020-02-24 07:00:06
【问题描述】:
我用 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());
}
}
我尝试研究解决此问题的方法,但找不到任何东西。
【问题讨论】:
-
您可以使用不同的 SMTP 服务器,例如 Yahoo。他们可能不需要这一步。
-
您能否建议您在哪里看到需要启用“不太安全的应用程序”?
-
@John 有一个谷歌设置允许不太安全的应用程序使用您的电子邮件进行身份验证。如果我不允许这样做,我会收到错误消息。
-
看来您可以使用 OAuth 登录并将其用于 SMTP。见here。但是,我不确定这在 C# 中是如何工作的。
-
@John 我也不知道如何在 C# 中使用 OAuth 登录...
标签: c# smtp google-signin