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