【问题标题】:Devise doesn't send mail in production设计不会在生产中发送邮件
【发布时间】:2013-01-04 03:52:42
【问题描述】:

我似乎无法在生产中发送确认邮件。日志中没有错误,并且 sendmail 工作正常。这是我的生产配置:

config.action_mailer.delivery_method = :sendmail
config.action_mailer.smtp_settings = {  
  :enable_starttls_auto => true,  #this is the important stuff!
  :address => "localhost",
  :port    => 25,
  :domain  => 'beautifulidiot.com',
  :openssl_verify_mode  => 'none',
  :perform_deliveries => true
}  

我尝试将交付方式更改为 :smtp,也没有运气。这是 Rails 3.2.5。

感谢您的帮助, 凯文

【问题讨论】:

  • 添加config.action_mailer.perform_deliveries = true,如果你想通过smtp尝试,那么端口应该是587而不是25

标签: ruby-on-rails devise actionmailer


【解决方案1】:

问题是您将 delivery_method 设置为 :sendmail,但您为 smtp 设置了设置。要解决您的问题,请执行以下任一操作:

选项 1

config.action_mailer.delivery_method = :sendmail
config.action_mailer.send_mail_settings = { ... }

选项 2

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { ... }

您的设置似乎是针对 :sendmail 的,所以最好先尝试选项 1。

【讨论】:

    【解决方案2】:
      config.action_mailer.delivery_method = :smtp
      config.action_mailer.smtp_settings = {
          :address              => "smtp.gmail.com",
          :port                 => 587,
          :domain               => 'mail.google.com',
          :user_name            => 'lisabrown472@gmail.com',
          :password             => 'XXXX',
          :authentication       => 'plain',
          :enable_starttls_auto => true  
      }
    

    并根据您的凭据替换凭据

    【讨论】:

      【解决方案3】:

      试试这个:

      config.action_mailer.perform_deliveries = true
      

      别忘了重启服务器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-09
        • 2023-03-11
        • 2021-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-02
        相关资源
        最近更新 更多