Gmail на герою с Rails 3
Я пытаюсь отправить сообщения электронной почты из Heroku. На данный момент я могу отправлять электронные письма из Heroku через "учебник" в http://blog.heroku.com/archives/2009/11/9/tech_sending_email_with_gmail/, так что это нормально.
Моя текущая проблема заключается в том, что, когда я получил ее для работы в Heroku, я не могу заставить ее работать в разработке. У меня было это с запуском с настройками в среде environment.rb или development.rb, но после того, как материал в учебнике зашел, и я удалил настройки в env/dev.rb, он не работает.
В браузере я получаю сообщение об ошибке:
530-5.5.1 Authentication Required. Learn more at
(он режет после Подробнее...)
В консоли сервера я получаю сообщение об ошибке:
Net::SMTPAuthenticationError (530-5.5.1 Authentication Required. Learn more at
):
Я установил heroku config:add [email protected]
и heroku config:add GMAIL_SMTP_PASSWORD=yourpassword
(с моей информацией;)), но это не помогает.
Любые идеи, что я делаю неправильно?
Могу ли я сделать это по-старому в разработке и пропустить герою script каким-то образом?
Cheers Carl
Ответы
Ответ 1
Просто сделайте так, как сказал выше пользователь о настройках SMTP.
В дополнение к этому Gmail блокирует неидентифицированные логины из приложения на вашу учетную запись, не проверив его.
Поэтому перейдите к своему клиенту Gmail и войдите в систему.
Если это не работает, перейдите в разблокировать captcha
Ответ 2
Я лично столкнулся с этой ошибкой, отправляемой с Gmail, и вам необходимо решить разблокировать CAPTCHA, чтобы разрешить отправку. Иногда Gmail может быть разборчивым с безопасностью, и документация не очень очевидна.
Полное сообщение должно читать:
530-5.5.1 Authentication Required. Learn more at https://support.google.com/mail/bin/answer.py?hl=en&answer=14257
поэтому проверьте эту ссылку и следуйте указаниям там.
Возможно, вам нужно будет войти в Gmail webapp или (что мне нужно было сделать), решить разблокировать CAPTCHA. Или, возможно, это что-то в вашем приложении или окружении, но, следуя указаниям Google, стоит сделать снимок.
Ответ 3
Добавьте следующий код в config/environment/development.rb
config.action_mailer.raise_delivery_errors = false
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
а также убедитесь, что вы добавили следующее в config/initializers/smtp_gmail.rb
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => "[email protected]",
:password => "password",
:authentication => "plain",
:enable_starttls_auto => true
}
Ответ 4
Вы экспортировали эти переменные среды на свой локальный компьютер? Вы говорите, что добавляете GMAIL_SMTP... в конфигурацию heroko, но вы:
$export [email protected]
$ export GMAIL_SMTP_PASSWORD = yourpassword
Я столкнулся с вашим вопросом, потому что у меня также есть электронная почта, работающая в dev, и задавалась вопросом, по-прежнему необходимо, чтобы сообщение 2009 года о том, как получить smtp и gmail для работы с героку. Видимо так.
Ответ 5
У меня есть почта, отправляемая через Gmail в приложении heroku. Вот моя конфигурация, если это помогает. Я не использую сторонние плагины, просто Rails 3.
В config/initializers/setup_mail.rb
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => "[email protected]",
:password => "foobar",
:authentication => :plain,
:enable_starttls_auto => true
}
В config/environments/production.rb
После инструкции end
для блока config
я добавил
ActionMailer::Base.smtp_settings[:enable_starttls_auto] = false