簡體   English   中英

Rails ActionMailer不在生產中發送電子郵件; 沒有錯誤

[英]Rails ActionMailer not sending emails in production; no errors

該代碼可以完美地用於開發,即使配置相同,電子郵件也永遠不會交付生產。

配置:

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default_url_options = { :host => 'domain.com' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :authentication => :plain,
    :user_name => 'my_server@gmail.com',
    :password => 'secret',
    :enable_starttls_auto => true
  }

發送電子郵件:

logger.warn "before mail call"
logger.warn ActionMailer::Base.smtp_settings
logger.warn(mail(to: "my_email@gmail.com", subject: "Testing", body: "email body").deliver!)

服務器日志:

[2013-08-29 16:41:11.000] [WARN] -- before mail call
[2013-08-29 16:41:11.000] [WARN] -- {:address=>"smtp.gmail.com", :port=>587, :authentication=>:plain, :user_name=>"my_server@gmail.com", :password=>"secret", :enable_starttls_auto=>true}
[2013-08-29 16:41:11.000] [WARN] -- Date: Thu, 29 Aug 2013 16:41:11 +0200
From: my_server@gmail.com
To: my_email@gmail.com
Message-ID: <521f5d87537af_7af3da480050052@castillo05.fzi.de.mail>
Subject: Testing
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

email body

在我的本地主機上進行開發時,它可以完美運行。 電子郵件幾乎立即到達。 在生產中,電子郵件永遠不會到達,我也沒有收到任何錯誤。 我已經嘗試了許多設置組合(使用/不使用:enable_starttls_auto,:domain,未設置delivery_method,perform_deliveries等),到目前為止沒有任何效果。 我也嘗試過發送到其他電子郵件沒有成功。

有任何想法嗎? 提前謝謝了

嘗試將“發件人”地址(即有效的電子郵件地址)添加到您的郵件設置中。 出於這個原因,我之前曾屏蔽過電子郵件。 也許像admin @您的網站托管域名?

mail(to: "my_email@gmail.com", subject: "Testing", body: "email body", from: "me@mydomainname.com").deliver!

從您的日志來看,看起來您在代碼部門工作的正確。 問題可能出在您的SMTP設置中。

特別是,這篇文章http://email.about.com/od/accessinggmail/f/Gmail_SMTP_Settings.htm表示gmail的smtp端口正在使用465,我看到您正在使用587。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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