Rails与Heroku不能发送Mandrill邮件

5
我正在启动一个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为我提供的用户名是something@heroku.com

1
如果你仍然遇到麻烦,可以参考以下两个链接:无法从Rails应用程序中使用Mandrill发送电子邮件使用Mandrill的SMTP集成与Web框架 -- 对我来说端口587有效,尽管我还将authentication设置为plain,并将enable_starttls_auto设置为true - user664833
你确定环境变量是从application.yml文件中加载的吗?你可以选择使用config vars。请参考这里:https://devcenter.heroku.com/articles/config-vars - sahilbathla
1个回答

0

对于任何遇到相同问题的人。这是由Mandrill算法引起的,用于确定您在一段时间内可以发送多少电子邮件。为了解决这个问题,我给他们的技术团队发了电子邮件,他们能够增加限制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接