2017-02-17 103 views
1

我已經在Ruby on Rails上做了一個應用程序。我使用Devise,我需要使用可恢復的密碼功能。 我發現development.rb這些配置:Ruby on Rails:如何配置Devise Mailer?

config.action_mailer.default_url_options = { :host => 'localhost:3000' } 

    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.raise_delivery_errors = false 
    config.action_mailer.default :charset => "utf-8" 

    config.action_mailer.smtp_settings = { 
    address: "smtp.gmail.com", 
    port: 2525, 
    domain: "gmail.com", 
    authentication: "plain", 
    enable_starttls_auto: true, 
    user_name: "MY_EMAIL", 
    password: "MY_PASS" 
    } 

當我測試了一下,沒問題,它不扔在應用程序的任何異常,但郵件永遠不會到來。請,我該如何配置?

+0

你有一個谷歌應用程序佔Gmail嗎?如果沒有,像這樣發送電子郵件將最終在垃圾郵件文件夾中。 – Iceman

+0

您必須啓用Google帳戶才能發送郵件 – uzaif

+0

我有同樣的問題,無法使用Google Mail在開發中接收Devise的電子郵件。我使用SendGrid,而我確實收到電子郵件。如果你真的不需要得到實際的電子郵件。您可以查看Rails Server日誌以查看電子郵件。 – tkhuynh

回答

-1

用GMail上的用戶名和密碼替換MY_EMAILMY_PASS,它應該可以工作。

對於本地使用,我推薦使用類似letter_opener之類的東西。

對於部署應用程序,我建議使用像Sendgrid這樣的服務,它有一個免費的層,足以適用於小應用程序。

如果你堅持使用Gmail的電子郵件,請嘗試使用TLS:

config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
    address: "smtp.gmail.com", 
    domain: "gmail.com", 
    port: 587, 
    user_name: "[email protected]", 
    password: "your_password", 
    authentication: 'plain', 
    enable_starttls_auto: true 
} 
+0

是的,我確實在這些地方使用了我的電子郵件和通行證,而且根本不起作用。 –

+0

我用GMail的方式更新了答案,希望它有幫助。 –