los*_*her 9 email ruby-on-rails heroku mailgun
我在Heroku上有Rails应用程序.它有一个自定义域,我试图通过Mailgun设置电子邮件发送.我已经通过Heroku安装了Mailgun作为插件,我已经完成了Mailgun给出的"验证"我的自定义域的步骤.如果我运行Mailgun的"立即检查DNS记录",一切都会变回绿色,状态为"活动".我甚至可以通过curl他们提供的电话从我的自定义域发送消息.但是,当我尝试使用我的Rails应用程序发送电子邮件时,我ActionMailer得到:Net::SMTPFatalError (554 Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in domain settings.
为什么它认为我使用的是"Sandbox子域"?这就是我所拥有的environments/production.rb:
# Mailgun
ActionMailer::Base.smtp_settings = {
port: ENV['MAILGUN_SMTP_PORT'],
address: ENV['MAILGUN_SMTP_SERVER'],
user_name: ENV['MAILGUN_SMTP_LOGIN'],
password: ENV['MAILGUN_SMTP_PASSWORD'],
domain: 'my-custom-domain.com',
authentication: :plain,
}
ActionMailer::Base.delivery_method = :smtp
# Devise recoverable
config.action_mailer.default_url_options = { host: 'my-custom-domain.com' }
Run Code Online (Sandbox Code Playgroud)
对于开发我正在使用Gmail,所以我知道它正在阅读正确的配置文件.并且所有env变量都设置正确.from也正确设置,我看到它是我的日志(do-not-reply@my-custom-domain.com)我错过了什么?即使状态是活跃的,还有什么东西可以传播吗?
谢谢!
los*_*her 11
所以问题是,当我验证我的自定义域时,它在我的Heroku/Mailgun帐户下创建了第二个域.我仍然拥有Heroku env vars中xxx.mailgun.org(沙盒)域的凭据.一旦我用我的自定义域中的凭据替换它们一切正常.(由于Heroku设置了第一套env vars,我愚蠢地认为新的设置会自动投入使用.)叹气......
谢谢你的帮助.
为了添加丢失的哲学家答案,我最近自己解决了这个MailGun自定义域名问题.
这对我有用:
情况:成功将自定义域添加到Mailgun后,我的邮件发送/接收停止工作
错误:添加自定义域并使用Mailgun验证DNS后,我收到了错误消息,例如:
Net::SMTPFatalError: 554 Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in Account Settings.
解决方案:意识到Heroku不会自动为您更新配置变量.您必须使用新域的值手动更新它们.
是的,我同意 - MailGun文档不是最彻底的.特别是在测试您的设置时.
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |