2011-08-30 38 views
1

我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 
} 

有時可以正常工作,其他時候會拋出此錯誤。有任何想法嗎?

回答

3

這可能是一些簡單的事情,例如超時或服務器負載過多。我建議搶救異常並重試,然後在一定次數的重試後記錄錯誤並失敗(或通知某人)。沿着這些線

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

不是一個壞主意。 – tybro0103