【问题标题】:SMTP errors at sending emails with ruby on rails使用 ruby​​ on rails 发送电子邮件时出现 SMTP 错误
【发布时间】:2018-12-31 18:40:23
【问题描述】:

我一直在尝试使用我的 gmail 帐户作为 smtp 发送一些测试时事通讯,但是当我尝试发送给多个收件人时 - ['emai@laddr@email.com, emailaddr2@email.com'] - 在这种情况下,第一个电子邮件地址不正确 - 它给了我一个错误 555 - 5.5.2 语法错误,并且该过程在没有通过下一个电子邮件地址的情况下停止。

我的问题是: 是否有可能绕过这些错误以跳过不正确的地址并继续发送电子邮件?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    您可以将ActionMailer 设置为忽略交付错误,但这并不是生产环境中的最佳实践。

    # environment.rb (or development/test etc)
    ActionMailer::Base.raise_delivery_errors = false
    

    如果您没有很多收件人,您可以尝试遍历地址数组并为每个地址发送一封电子邮件,挽救一个递送错误并将一条消息添加到日志中。

    # Model
    def send_emails(addresses)
      addresses.each do |address|
        begin
          YourMailer.deliver_method(email)
        rescue
          logger.error "Could not send email to #{email}" 
        end
      end
    end
    

    【讨论】:

    • 我试过设置 raise_delivery_errors=false 没有运气。我倾向于认为这里的问题是 smtp_tls 停止了进程,但我不确定。感谢您的宝贵时间!
    • 你尝试我的第二个建议了吗?
    猜你喜欢
    • 2021-12-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2019-05-06
    • 2015-06-15
    • 2023-03-28
    • 2012-01-12
    相关资源
    最近更新 更多