2016-08-02 3 views
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. 

Я использую аддон Mailgun с Heroku в приложении RoR. Я пытаюсь использовать домен sandbox с моей личной учетной записью gmail, добавленной как авторизованный пользователь. Я использую готовое подтверждение, поэтому, когда новый пользователь подписывается, по электронной почте они должны отправлять по электронной почте по умолчанию. Как видно ниже, пользователь успешно создается и отправляется отправляемое электронное письмо. Mailgun, кажется, получает необходимую информацию, но не считает, что я уполномочен?Mailgun Sandbox домен не работает

Sandbox is active

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", "[email protected]"], ["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 [email protected] (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: [email protected] 
2016-08-01T22:05:30.978028+00:00 app[web.1]: To: [email protected] 
2016-08-01T22:05:30.978028+00:00 app[web.1]: Message-ID: <[email protected]e0db4.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 [email protected]!</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. 

Я использовал directions on using Mailgun for Heroku - (скопировать и вставить в мой конфигурационный/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 

Я проверил переменные окружения, и все они выглядят точно. Я также проверил, что порт 587 работает с использованием telnet на heroku.

Любые идеи, куда идти отсюда?

отправители/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: '[email protected]' 
end 

ответ

1

Я считаю, что это был вопрос о конце Mailgun в. Я подтвердил, что у меня есть уполномоченный пользователь, связанный с доменом Sandbox. Не имея удачи в домене Sandbox, я зарегистрировал домен и обновил конфигурационные вары в настройках приложения Heroku и без изменений вышеприведенного кода получил электронную почту.

+0

может вы мольбы указать изменения, сделанные в конфигурации Варс? –

+0

Да, нужно добавить по крайней мере один домен, чтобы использовать домен электронной почты mailguns. – zerocon

1

Другая возможность состоит в том, что у вас есть два домена в вашей учетной записи, если вы ввели свой собственный домен. В этом случае измените конфигурации vars вашего пользовательского домена на heroku.

4

У меня была эта проблема тоже. Проблема заключается в том, что при использовании домена песочницы mailgun у вас должно быть предварительно зарегистрируйте получателя для отправки электронной почты. Для этого перейдите на панель управления электронной почтой электронной почты, нажмите «Авторизованные получатели», как показано на рисунке ниже.

Where to go to add an authorized recipient

Смежные вопросы