2017-04-10 58 views
0

我在我的ruby on rails網站上創建了一個聯繫我們的表單。最後一步是允許將表單上發佈的消息轉發到我的電子郵件地址。爲此,我安裝了sendgrid寶石。然而,最後一步,我被卡住了。我在這裏以下紅寶石說明我是否需要使用郵件幫助程序類來設置sendgrid寶石?

[此處輸入鏈接的描述] [1] https://devcenter.heroku.com/articles/sendgrid#ruby

要了解做什麼,我需要知道兩件事情:

  1. 難道我用的是代碼用郵件助手或沒有郵件助手(我不知道郵件助手是什麼)?

  2. 我在哪裏把這段代碼放在我的rails應用程序中?

有關安裝sendgrid的任何其他信息將不勝感激。

回答

1

我最近剛使用Sendgrid在我的網站上設置了一個聯繫人部分。它的作用像一個魅力,我不需要安裝任何寶石。假設您已經正確設置並在您的開發環境中對其進行測試,以下是讓您的郵件程序在生產環境中工作的步驟。

首先,如果你還沒有,你需要添加一個信用卡到你的Heroku帳戶。這僅用於驗證,以便您可以使用附加組件。

在你的終端運行:

$ heroku addons:create sendgrid:starter 

修復的ActionMailer設置加給你的生產RB文件,Sendgrid工作:

Rails.application.configure do 

     ActionMailer::Base.smtp_settings = { 
     :address  => 'smtp.sendgrid.net', 
     :port   => '587', 
     :authentication => :plain, 
     :user_name  => ENV['SENDGRID_USERNAME'], 
     :password  => ENV['SENDGRID_PASSWORD'], 
     :domain   => 'heroku.com', 
     :enable_starttls_auto => true 
     } 

     # more code here 
    end 

您不必擔心ENV變量因爲Heroku自動添加來自heroku插件的那些:早先的創建命令。

+1

這是我找到的最好的方式,不需要真正的寶石。 – Iceman

+0

我已經嘗試了這一點,我看到現在我的消息保存在本地主機的命令行中,所以看起來很有前途的解決方案。現在唯一的事情是,當我嘗試推送到heroku時,我的「git push heroku master」失敗。推到github然而工作正常。 (as a aside:使用此代碼和安裝gemfile之間的區別是什麼?) – Owen

+0

它可能會失敗,因爲您有: [config.action_mailer.delivery_method =:smtp config.action_mailer.smtp_settings] in your development rb文件。 評論這些行並取代: config.action_mailer.delivery_method =:test –

相關問題