Mailgun Sandbox域无效

Eri*_*k V 2 ruby-on-rails heroku mailgun

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.
Run Code Online (Sandbox Code Playgroud)

我在RoR应用程序中使用带有Heroku的Mailgun插件.我正在尝试使用沙箱域,并将我的个人Gmail帐户添加为授权用户.我正在使用设计确认,因此当新用户注册时,应将默认电子邮件发送到他们提供的电子邮件.如下所示,成功创建用户并找到要发送的电子邮件.Mailgun似乎收到了必要的信息,但不相信我被授权?

沙盒是活跃的

    SQL (1.1ms)  INSERT INTO "users" ("first_name", "last_name", "email", "encrypted_password", "created_at", "updated_at", "confirmation_token", "confirmation_sent_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"  [["first_name", "C"], ["last_name", "C"], ["email", "ceo@c.com"], ["encrypted_password", "$2a$10$k9CdjjFd7GzLcKJ.E4VNie27aJrQm3LnigLHlFSFKcd2qR2x11cQW"], ["created_at", "2016-08-01 22:05:30.331566"], ["updated_at", "2016-08-01 22:05:30.331566"], ["confirmation_token", "38f6d620e0e8277957ee85bbede77610cdbea448a79b9d07fc5998fdc3c780d3"], ["confirmation_sent_at", "2016-08-01 22:05:30.565564"]]
2016-08-01T22:05:30.601828+00:00 app[web.1]:   Rendered vendor/bundle/ruby/2.2.0/gems/devise-3.4.1/app/views/devise/mailer/confirmation_instructions.html.erb (9.0ms)
2016-08-01T22:05:30.856455+00:00 app[web.1]: 2016-08-01T22:05:30.856470+00:00 app[web.1]: MyMailer#confirmation_instructions: processed outbound mail in 284.9ms
2016-08-01T22:05:30.978021+00:00 app[web.1]: 
2016-08-01T22:05:30.978023+00:00 app[web.1]: Sent mail to ceo@c.com (121.4ms)
2016-08-01T22:05:30.978026+00:00 app[web.1]: Date: Mon, 01 Aug 2016 22:05:30 +0000
2016-08-01T22:05:30.978027+00:00 app[web.1]: From: personalemail@gmail.com
2016-08-01T22:05:30.978028+00:00 app[web.1]: To: ceo@c.com
2016-08-01T22:05:30.978028+00:00 app[web.1]: Message-ID: <579fc7aad20f8_33f9a82512758405f4@e15a6ab3-869e-4811-9cde-20f13e3e0db4.mail>
2016-08-01T22:05:30.978029+00:00 app[web.1]: Subject: Confirmation instructions
2016-08-01T22:05:30.978029+00:00 app[web.1]: Mime-Version: 1.0
2016-08-01T22:05:30.978030+00:00 app[web.1]: Content-Type: text/html;
2016-08-01T22:05:30.978030+00:00 app[web.1]:  charset=UTF-8
2016-08-01T22:05:30.978030+00:00 app[web.1]: Content-Transfer-Encoding: 7bit
2016-08-01T22:05:30.978031+00:00 app[web.1]: 
2016-08-01T22:05:30.978031+00:00 app[web.1]: <p>Welcome ceo@c.com!</p>
2016-08-01T22:05:30.978032+00:00 app[web.1]: 
2016-08-01T22:05:30.978034+00:00 app[web.1]: <p>You can confirm your account email through the link below:</p>
2016-08-01T22:05:30.978034+00:00 app[web.1]: 
2016-08-01T22:05:30.978035+00:00 app[web.1]: <p><a href="http://peeraccomplish.heroku.com/users/confirmation?confirmation_token=zry54mp6sBgdFdfcjPYP">Confirm my account</a></p>
2016-08-01T22:05:30.978036+00:00 app[web.1]: 
2016-08-01T22:05:30.979055+00:00 app[web.1]:    (0.9ms)  ROLLBACK
2016-08-01T22:05:30.981993+00:00 app[web.1]: Completed 500 Internal Server Error in 753ms
2016-08-01T22:05:30.983041+00:00 app[web.1]: 
2016-08-01T22:05:30.983042+00:00 app[web.1]: ):
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.
Run Code Online (Sandbox Code Playgroud)

使用Mailgun for Heroku指示 - (复制并粘贴到我的config/production.rb中):

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         => ENV['MAILGUN_DOMAIN'],
    :authentication => :plain,
  }
  ActionMailer::Base.delivery_method = :smtp
Run Code Online (Sandbox Code Playgroud)

我检查了环境变量,它们看起来都很准确.我还检查端口587正在使用heroku上的telnet工作.

任何想法从哪里开始?

mailers/my_mailer.rb供参考:

class MyMailer < Devise::Mailer   
  helper :application # gives access to all helpers defined within `application_helper`.
  include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
  default template_path: 'devise/mailer' # to make sure that your mailer uses the devise views

  default from: 'personalemail@gmail.com'
end
Run Code Online (Sandbox Code Playgroud)

Rod*_*ves 8

我也有这个问题.问题是,当使用mailgun沙箱域时,您必须预先注册收件人电子邮件,以便向其发送电子邮件.要执行此操作,请转到您的应用程序mailgun仪表板,单击"授权收件人",如下图所示.

去哪里添加授权收件人


Eri*_*k V 4

我相信这是 Mailgun 的问题。我确认我有一个与 Sandbox 域关联的授权用户。由于沙盒域没有运气,我注册了一个域,并更新了 Heroku 应用程序设置中的配置变量,并且在不更改上述代码的情况下,收到了电子邮件。