【问题标题】:Gmail SMTP error - Temporary block?Gmail SMTP 错误 - 临时阻止?
【发布时间】:2016-12-30 02:02:41
【问题描述】:

我正在使用 Gmail 服务器通过程序从我的系统发送电子邮件。 最近我开始收到这样的错误:

数据命令失败:421 4.7.0 临时系统问题。稍后再试 (WS)。 6sm3756432pab.11 - gsmtp

原因在the support中给出。

谁能告诉我有多少电子邮件可以触发这个问题?

还是因为其他原因?

【问题讨论】:

  • #1 你有'421,“4.7.0”,临时系统问题。稍后再试。'而不是'421,“4.7.0”,我们的系统检测到来自您的 IP 地址的不请自来的邮件的异常率。',不是吗? #2 如果您有后一种,那么:不,我认为 Gmail 与发件人沟通的电子邮件数量不固定。只是不要向人们发送垃圾邮件,而只有在他们同意的情况下才向他们发送电子邮件。
  • 我收到错误 '421,“4.7.0”,临时系统问题。稍后再试。'错误。什么可能导致此错误?
  • 该错误可能是 gmail 的临时系统问题引起的。检查Gmail App Status。无论如何,这是所谓的软退回,您应该稍后再尝试发送消息。
  • 好的。我更频繁地收到此错误。所以这可能不是gmail的系统问题,对吧?

标签: email gmail


【解决方案1】:

如果您使用免费的 Gmail 帐户发送批量电子邮件,您很可能会在早期看到此类响应,因为该服务并非旨在向已选择加入的订阅者发送应用程序交易消息、新闻通讯等事件。 提供的 IMAP/SMTP 服务让您能够将 Microsoft Outlook 等电子邮件客户端与您的 Gmail 帐户一起使用。

如果你需要发送交易消息,我建议你谷歌“AWS SES”作为初学者。

【讨论】:

  • 我尝试发送一封电子邮件而不是批量电子邮件,并立即收到此错误。因此,无论是否批量,它都会发生。
【解决方案2】:

当我尝试使用 Java 中的多线程程序发送批量电子邮件时,我也遇到了同样的问题。然后我听说了线程池执行器。我通过将线程池大小设置为 10 来使用它。之后,这个问题已经为我解决了。

【讨论】:

    【解决方案3】:

    如果您使用脚本快速连续发送电子邮件,则会出现此错误。 一个简单的方法是在发送电子邮件之间应用睡眠定时器。

    我在每封连续的电子邮件之间应用了一个 1 秒的计时器。

    import time
    time.sleep(1) // equivalent to 1 second sleep
    

    【讨论】:

    • 不一定只是在快速连续发送时发生。当我第一次尝试使用代码发送电子邮件时,我使用全新的 gmail 帐户发生了这种情况。
    • 这发生在我身上,因为消息被快速连续发送出去。 g-suite 支持毫无用处,因为他们一直说他们无法在系统日志中看到该错误,尽管这是来自系统的回复。
    【解决方案4】:

    我同意 Anubhav Shrimali 的观点,即如果 Gmail 同时收到多个请求,则会发生错误。 我在 Node.js 中使用 Nodemailer 解决了这个问题,方法是在每封连续电子邮件之间添加 1 秒延迟,如下所示:

    array.foreach(function(data, index) {
        setTimeout(() => {
            sendmail();            
        }, 1000 * index);
    
        function sendmail() {
            transporter.sendMail(mailOptions, function (error, info) {
                if (error) {
                    console.log(error);
                } else {
                    console.log('Email sent' + info.response);
                }
            });
        }
    });
    

    【讨论】:

      【解决方案5】:

      如果遇到这种情况,应该放到重试队列中,如果多次重试失败会通知监控。

      希望这个链接可以帮到你:

      https://support.google.com/a/answer/3726730

      【讨论】:

        【解决方案6】:

        这可能是从同一 IP 地址发送大量电子邮件的结果。如前所述,使用 python sleep 函数,以便在发送之间有一点等待。我发现 1 秒通常对我来说不够用,有时我会在 1 到 5 之间随机选择秒数以获得最佳结果。

        import random
        import time
        time.sleep(random.randint(1, 5))
        

        不要忘记导入正确的模块。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-04
          • 2012-11-08
          • 2012-10-18
          • 2018-05-17
          • 2017-10-15
          • 2015-12-31
          • 2012-11-08
          • 1970-01-01
          相关资源
          最近更新 更多