在rails上发送带有ruby的电子邮件时出现SMTP错误

时间:2010-01-17 22:52:16

标签: ruby-on-rails ruby

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

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

1 个答案:

答案 0 :(得分: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