小编hug*_*idx的帖子

无法在 C# 中发送电子邮件 安全性较低的应用程序访问不再可用

我有一个 winform 应用程序在我们的生产车间运行,它发送电子邮件进行报告,所以从昨天开始它无法发送电子邮件,我收到了这条消息

\n

“SMTP 服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.7.0 需要身份验证。”

\n

我检查了这篇文章\n SMTP 服务器需要安全连接或客户端未经过身份验证。服务器响应为: 5.5.1 需要身份验证?

\n

我发现谷歌不再支持第三方应用程序,它不允许安全性较低的应用程序\n这是来自谷歌安全性较低的应用程序\n安全性较低的应用程序访问:

\n

某些应用程序和设备使用安全性较低的登录技术,这会使您的帐户容易受到攻击。您可以关闭对这些应用程序的访问权限(我们建议这样做),或者如果您想尽管存在风险但仍想使用它们,则可以将其打开。如果不使用\xe2\x80\x99,Google 将自动关闭此设置。\n此设置不再可用。了解更多

\n

所以我尝试添加 SmtpServer.UseDefaultCredentials = false; 但没有任何作用,我认为问题是谷歌不再支持第三方访问电子邮件。\n这是我的代码

\n
try\n{\n    MailMessage mail = new MailMessage();\n    System.Net.Mail.SmtpClient SmtpServer =\n        new System.Net.Mail.SmtpClient("smtp.gmail.com");\n    string sender = "user@gmail.com";\n    mail.From = new MailAddress(sender);\n    mail.To.Add("receiver@plastikon.com");\n    mail.Priority = MailPriority.High;\n    mail.Subject = subject;\n    mail.IsBodyHtml = true;\n    mail.Body = ($"{body} \\n Name of computer: { HostName} ");\n\n    SmtpServer.Port = 587;\n    SmtpServer.Credentials = new \n    System.Net.NetworkCredential("user@gmail.com", "Password");\n    SmtpServer.EnableSsl = true;\n    SmtpServer.UseDefaultCredentials = false;\n\n    SmtpServer.Send(mail);\n}\n …
Run Code Online (Sandbox Code Playgroud)

c# winforms

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

winforms ×1