Heroku没有发送Mandrill电子邮件的Rails

时间:2014-01-09 18:01:48

标签: ruby-on-rails heroku devise mandrill

我正在开始使用rails应用程序,并希望使用Mandrill确认Devise注册以及将来的其他功能。昨天它有时在当地工作,所以我想也许我会尝试Heroku。

当使用Heroku的Mandrill附加组件时,它可以正常工作,但如果我将ENV凭据更改为我自己的Mandrill帐户,则电子邮件会在我自己的帐户上积压。

我正在使用两封个人电子邮件,gmail和一个学校电子邮件进行测试。

我还使用figaro将我的环境变量复制到Heroku。

production.rb:

config.action_mailer.smtp_settings = {
:address   => "smtp.mandrillapp.com",
:port      => 587,
:user_name => ENV["MANDRILL_USERNAME"],
:password  => ENV["MANDRILL_APIKEY"]
}

# ActionMailer Config
config.action_mailer.default_url_options = { :host => 'herokuapp.com' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false

development.rb:

config.action_mailer.smtp_settings = {
:address   => "smtp.mandrillapp.com",
:port      => 2525, # I also tried ports 25 and 587
:user_name => ENV["MANDRILL_USERNAME"],
:password  => ENV["MANDRILL_APIKEY"]
}

# ActionMailer Config
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 = true

application.yml:

(我复制了实际的用户名和API密钥。)

MANDRILL_USERNAME: myemail@gmail.com
MANDRILL_APIKEY: ######################
ADMIN_NAME: First User
ADMIN_EMAIL: user@example.com
ADMIN_PASSWORD: changeme 
ROLES: [admin, user, VIP]

Mandrill Heroku的username为我提供了something@heroku.com

1 个答案:

答案 0 :(得分:0)

对于任何面临同样问题的人。这是由Mandrills算法引起的,用于确定您在一段时间内允许发送的电子邮件数量。为了解决这个问题,我给他们的技术团队发了电子邮件,他们能够增加限制。