簡體   English   中英

Devise郵件程序不在生產環境中發送郵件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM