2013-12-13 171 views
1

不發送到config /環境/ production.rb下面電子郵件生產

BASE_URL = "http://proproots.herokuapp.com/" 
    STATIC_WEBSITE = "http://proproots.herokuapp.com/" 
    REDIRECTING_URL = "http://proproots.herokuapp.com/" 

    config.action_mailer.default_url_options = { :host => 'proproots.herokuapp.com' } 
    config.action_mailer.raise_delivery_errors = true 
    ActionMailer::Base.delivery_method = :smtp 
    ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => "587", 
    :domain    => "www.gmail.com", 
    :user_name   => "[email protected]", 
    :password    => "password", 
    :authentication  => "login", 
    :enable_starttls_auto => true, 
    :openssl_verify_mode => 'none' 
    } 

服務器日誌中給出

2013-12-13T17:33:49.134524+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=proproots.herokuapp.com fwd="122.164.115.170" dyno=web.1 connect=6ms service=5ms status=304 bytes=0 

它是工作在開發環境很好,但在生產不能正常工作,請嘗試的人解決此問題

回答

0

Heroku的不需要使用一個郵件附件。我已經做了幾次沒有它,但是,如果你想要更強大的配置,有真正的列入白名單的ISP的ISPs信任等的能力,建議郵件程序。

下面是我的config/initializers/setup_mail.rb生產運行Heroku的:

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

ActionMailer::Base.default_url_options = { host: 'example.com', protocol: 'http' } 

我覺得你的問題是在使用smtp_settingswww.gmail.com」作爲domain ......我還刪除openssl_verify_mode線。

請參閱Tom Slykhouse's blog post關於此確切主題的更多詳細信息。這是我從上面獲得的配置,並且對我來說工作了一年多。

-1

在Heroku上,您需要使用郵件附件(我喜歡郵戳)。

你會發現一個完整列表,以及關於如何實現在這裏他們指示:

https://addons.heroku.com/#email-sms

+0

這是不正確的。您不需要附加軟件來發送電子郵件。請參閱:http://www.azgaard.com/2012/06/05/sending-email-from-rails-using-smtp-on-heroku/ – CDub