2016-06-21 59 views
0

如果答案已經存在,但是在我瀏覽過的許多類似帖子中,我還沒有找到我正在尋找的答案。Ruby on Rails用SMTP結束文件

我已經繼承了Ruby on Rails應用程序,它最近開始無法發送電子郵件。從我能收集到的,這是由於smtp失敗。

我想使用「[email protected]」發送來自「[email protected]」的電子郵件用於SMTP設置。

... /配置/環境/ production.rb我已經

ActionMailer::Base.smtp_settings = {       
    :enable_starttls_auto => true, 
    :address      => 'smtp.gmail.com', 
    :port       => 587,    
    :authentication   => :plain,     
    :user_name      => '<[email protected]>' 
    :password      => '<mygmailpassword>'  
} 

... /應用/型號/我呼籲user_notifier.rb一個文件,該文件包含

class UserNotifier < ActionMailer::Base 
    def signup_notification(user) 
     setup_email(user) 
     @subject += 'Please activate your new account' 
     @body[:url] = "<mydomain.com>:8080/activate/#{user.activation_code}" 
    end 

    def activation(user) 
     setup_email(user) 
     @subject += 'Your account has been activated' 
     @body[:url] = "<mydomain.com>:8080" 
    end 

    def reset_notification(user) 
     setup_email(user) 
     @subject += 'Link to reset your password' 
     @body[:url] = "<mydomain.com>:8080/reset_password/#{user.reset_password_code}" 
    end 

    def login_reminder(user) 
     setup_email(user) 
     @subject += 'Login Reminder' 
     @body[:url] = "<mydomain.com>:8080" 
    end 

    protected 

    def setup_email(user) 
     @recipients = "#{user.email}" 
     @from = "<[email protected]>" 
     @subject = "<subject>" 
     @sent_on = Time.now 
     @body[:user] = user 
     bcc ["<[email protected]>"] 
    end 
end 

所有這些代碼曾經工作,所以我不知道什麼改變了。當我寫這篇文章時,我意識到突發故障可能與網絡上的某些維護相對應,所以我不知道這會對事情產生什麼影響。

編輯:添加整個UserNotifier類如評論

+0

可能您發佈完整'UserNotifier'類 – oreoluwa

+0

肯定。我剛剛添加了它。 – Will

回答

0

要求嘛,其實我設法解決這個我自己。

我需要添加:domain選項... /配置/環境/ production.rb

爲什麼不:domain我仍然不知道曾經工作過,但我還是要僅僅有功能性產品。

工作設置爲

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