[英]Devise mailer is not sending mails in production environment
我已經在公司內部網絡上設置了Rails應用程序。 我使用Devise::Mailer
進行注冊確認,密碼恢復等。我也有自己的從ActionMailer::Base
派生的郵件程序類。 在開發環境中,兩種類型的郵件程序都可以正常工作,但是在生產環境中,只有我的自定義郵件程序似乎可以工作。
我兩個環境的郵件配置是相同的:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { host: 'my.internal.ip.address', port: 80 }
config.action_mailer.asset_host = "http://my.internal.ip.address"
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
:address => 'internal.mail.server',
:port => 25,
:domain => 'domain.name'
}
此SMTP服務器不需要身份驗證。
在config/initializers/devise.rb
我設置了發送者地址,如下所示:
config.mailer_sender = "myaddress@domain.name"
我試圖在生產環境中將config.action_mailer.delivery_method
設置為:file
。 在這種情況下,從我的自定義郵件程序發送的郵件將被寫入文件,但是從Devise郵件程序發送的郵件則不會被寫入文件。
如何使Devise郵件程序在生產環境中工作?
更新資料
我已將config/environments/production.rb
文件復制到config/environments/development.rb
,它仍然可以在開發模式下工作,但不能在生產模式下工作。
您在開發模式下設置的所有配置都將在生產模式下工作,您需要重新配置默認的郵件程序my.internal.ip.address
我無法想象my.internal.ip.address
在生產中是有效host
。 您應該將其更改為托管應用程序代碼的域名或ip。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.