【问题标题】:gmail not sending email anymoregmail不再发送电子邮件
【发布时间】:2019-02-20 23:58:15
【问题描述】:

我使用 gmail 帐户从应用程序发送电子邮件, 我设置了“允许安全性较低的应用”,“最近的安全事件”列表为空。

直到今天它还在工作,但今天它开始说:

SMTP 服务器需要安全连接,或者客户端没有 认证。服务器响应为:5.5.1 需要身份验证

我仍然可以使用 gmail 网站发送电子邮件,并且使用 Thunderbird 它仍然可以工作,但不能在应用程序中,

如果我在我的代码中将用户名和密码更改为另一个 gmail 帐户,它可以工作,但不适用于这个特定的帐户。

这是我用来发送电子邮件的代码:

var client = new SmtpClient
{
    Host = serverName,
    Port = 587, // TLS Port
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(userName, pass)
};

using (var message = new MailMessage(new MailAddress(userName), new MailAddress(to))
{
    Subject = subject,
    Body = body
})
{
    client.Send(message);
}

更新: 突然它开始工作(在我的本地,我有发送电子邮件的联合测试),不知道为什么,我检查了部署的应用程序它也开始发送电子邮件

更新2: 似乎是一个更全球性的问题:https://productforums.google.com/forum/?nomobile=true&hl=en&utm_source=google-account&utm_medium=web#!topic/gmail/NETOwtLyWGI

【问题讨论】:

  • 您是否在 gmail 收件箱中收到任何安全警报?您是否有任何机会启用 2fa?
  • 不,我没有收到任何警报,并且 2fa 未启用

标签: c# .net email gmail


【解决方案1】:

在我的搜索中,我发现了一些可以尝试的方法:

  1. 尝试将密码更改为更复杂/安全的密码。有时,Gmail 似乎开始需要更复杂的密码,而不会让人们知道和/或抛出适当的错误。

  2. 从代码中删除“EnableSsl = true”行。 (或设置为 false) (Link)

  3. 您的代码刚刚随机停止工作这一事实可能暗示了一些类似于仍在提供的过期证书的内容。

问题:当您说您可以通过浏览器和 Thunderbird 从该帐户发送电子邮件时,您是从 C# 应用程序尝试发送的同一台计算机发送这些电子邮件吗?

【讨论】:

  • 我的密码很长,大约 20 个字符,并且所有的符号都是大写小写,我尝试在与 Thunderbird 和 chrome+gmail 站点相同的机器上本地运行应用程序,同样的问题
  • 如果我设置 ``EnableSsl = false` 我得到:“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应是:5.7.0 必须发出 STARTTLS”
  • 尝试使用端口 465 (SSL) 而不是 587 (TLS)?不是一个长期的解决方案,但值得尝试排除故障。
  • 实际上它突然开始工作(在我的本地),不知道为什么,可能是 gmail 中的一个小故障,或者 gmail 团队的某个人看到了这篇文章,我检查了部署的应用程序也开始发送电子邮件
  • 看起来差不多。谷歌 SRE 团队来救援 - 让我们看看它是否很快会再次开始工作。我们可能处于 99.99% 正常运行时间的 0.01 次停机时间。
猜你喜欢
  • 1970-01-01
  • 2014-10-19
  • 2021-09-11
  • 1970-01-01
  • 2022-06-17
  • 2016-08-22
  • 2017-02-09
  • 2022-07-02
  • 1970-01-01
相关资源
最近更新 更多