的Rails 3梅勒变量Errno :: ECONNRESET的GMail

问题描述:

我RANDOMLY得到的错误:的Rails 3梅勒变量Errno :: ECONNRESET的GMail

Errno::ECONNRESET (Connection reset by peer): 

当试图发送电子邮件:

UserMailer.activation(@user).deliver 

在初始化我设置SMTP设置使用我的Google Apps帐户:

ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "mydomain.com", 
    :user_name   => "[email protected]", 
    :password    => "tylerspw", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
} 

有时可以正常工作,其他时候会抛出此错误。有任何想法吗?

这可能是一些简单的事情,例如超时或服务器负载过多。我建议抢救异常并重试,然后在一定次数的重试后记录错误并失败(或通知某人)。沿着这些线

tries = 0 
begin 
    UserMailer.activation(@user).deliver 
rescue Errono::ECONNRESET => e 
    if (tries += 1) > 2 
    retry 
    else 
    # log error 
    end 
end 
+0

不是一个坏主意。 – tybro0103