我在Heroku上有Rails应用程序。它有一个自定义的域名,我已经尝试设置通过邮箱发送电子邮件。我已经通过Heroku安装了Mailgun作为插件,并且我已经完成了Mailgun“验证”我的自定义域的步骤。如果我运行Mailgun的“立即检查DNS记录”,一切都会恢复为绿色,并且状态是“活动的”。我甚至可以使用它们提供的curl
调用从我的自定义域发送消息。然而,当我尝试用ActionMailer
从Rails应用程序发送电子邮件时,我得到: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.
为什么它认为我使用的是“沙盒子域”?这是我在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' }
对于开发,我使用Gmail,所以我知道它正在读取正确的配置文件。所有的env都是正确设置的。from的设置也是正确的,我看到它是我的日志(do-not- set @ my -custom-domain.com),我错过了什么?即使是通过状态仍然可以传播的东西是活动的吗?
谢谢!
发布于 2016-05-31 16:05:20
所以问题是,当我验证我的自定义域时,它在我的Heroku/Mailgun帐户下创建了第二个域。我仍然在我的Heroku中拥有来自xxx.mailgun.org (沙箱)域的凭据。一旦我用来自自定义域的凭据替换了它们,一切就都正常了。(由于Heroku设置了第一组env,我愚蠢地认为新集会自动插入。)叹息..。
谢谢你的帮助。
发布于 2017-01-08 21:26:37
为了添加到lostphilosopher答案,我最近自己解决了这个MailGun自定义域问题。
以下是对我起作用的东西:
stopped :在向Mailgun成功添加自定义域后,我的邮件发送/接收停止工作
error :在添加自定义域并使用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文档并不是最彻底的。尤其是在测试你的设置的时候。
发布于 2016-05-31 08:39:19
您是否将您的电子邮件收件人添加到https://mailgun.com/app/domains/sandbox_your_domain.mailgun.org
下的“授权收件人”列表中?
一定要添加一个真正的电子邮件地址,可以接收电子邮件.
这是因为mailgun会发送一封确认电子邮件,询问邮箱地址的所有者是否真的想从mailgun收到电子邮件。
https://stackoverflow.com/questions/37534567
复制相似问题