.net Gmail不再发送电子邮件

arknldoa  于 12个月前  发布在  .NET
关注(0)|答案(2)|浏览(108)

我使用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);
}

字符串
最新消息:突然它开始工作(在我的本地,我有发送电子邮件的unite测试),不知道为什么,我检查了部署的应用程序,它也开始发送电子邮件
患者2:这似乎是一个更全球性的问题:https://productforums.google.com/forum/?nomanum =true&hl=en&utm_source=google-account&utm_medium=web#!topic/gmail/NETOwtLyWGI

0ve6wy6x

0ve6wy6x1#

在我的搜索中,我发现了一些可以尝试的东西:
1.尝试将密码更改为更复杂/安全的密码。有时,Gmail似乎开始需要更复杂的密码,而不会让人们知道和/或抛出适当的错误。
1.从代码中删除“EnableSsl = true”行。(或设置为false)(Link
1.您的代码只是随机停止工作,这一事实可能暗示了仍然存在的过期证书的某些沿着内容。
问:当你说你可以通过浏览器和Thunderbird从该帐户发送电子邮件时,你是从C#应用程序试图发送的同一台机器发送这些电子邮件吗?

hgqdbh6s

hgqdbh6s2#

截至2023年10月30日,当“添加另一个电子邮件地址”不接受Gmail中的安全凭据时,我有一个工作解决方案。
技术说明:我有谷歌工作场所,所以我的Gmail是在那里。我有不太安全的应用程序启用,但现在我有2FA打开,这覆盖了。此外,大多数用于配置应用程序特定密码的解决方案(包括今天谷歌自己的文档和他们论坛上的支持志愿者)引用过时的信息-例如,表明您可以选择应用程序类型(例如“邮件”),这是不再可用.帐户specifIt的myaccount.google.com/security下点击2-Step验证,并转到应用程序密码.谷歌可能会移动它/改变它再次明天.
解决方法:
1.第1步-获取您的应用程序特定的密码-不管你叫它什么-至关重要的是:去掉空格
1.第二步-通过点击顶部的头像来“隔离”你的gmail帐户,然后退出所有帐户(如果你登录了其他的google帐户)--确保这一点,然后重新登录你想添加邮件地址的那个帐户。
1.第3步-正常配置:发送电子邮件,别名= yes,TLS 587 smtp.gmail.com,但使用您当前的帐户Gmail地址和上面修改的应用程序密码。
1.第4步-点击确认邮件中的链接
同样,当所有其他解决方案在10/30/23失败时,这对我来说是有效的,但谷歌明天可能会再次改变一些东西。
如果有人知道一个简单的SMTP服务器,我可以在我自己的cloudways帐户或数字海洋上旋转,它将接受我拥有的任何域上的任何电子邮件地址,并让我在Gmail设置中使用SMTP服务器,请告诉我。我厌倦了每次谷歌更改协议和发送地址停止工作时都要追逐这个小马:)

相关问题