Net :: SMTPAuthenticationError 502 5.5.2 в Rails ActionMailer - PullRequest
2 голосов
/ 30 июля 2010

Я пытаюсь отправить подтверждение по электронной почте пользователю.

Но я получаю следующую ошибку:

Net :: SMTPAuthenticationError (502 5.5.2 Ошибка: команда не распознана

Конфигурация в production.rb следующая:

# Disable delivery errors, bad email addresses will be ignored
config.action_mailer.raise_delivery_errors = true

# set delivery method to :smtp, :sendmail or :test
config.action_mailer.delivery_method = :smtp

# these options are only needed if you choose smtp delivery
config.action_mailer.smtp_settings = {
  :address        => 'path_to_address_specified_by_my_hoster',
  :port           => 25,
  :domain         => 'my_domain.com',
  :authentication => :plain,
  :user_name      => 'signup@my_domain.com',
  :password       => 'password'
}

Я создал почтовый ящик в профиле пользователя у моего хостинг-провайдера с именем "signup@my_domain.com"

Для созданного почтового ящика мне выдали логин и пароль:

login = verbose_login

password = verbose_password

Я не полностьюпонял точный формат: user_name.

Должен ли я использовать

:user_name => "signup@my_domain.com"

или:

:user_name => "signup"

или:

:user_name => "verbose_login"

Или этоЭто поле относится к почтовому серверу, и я должен спросить поддержку хостинг-провайдера?

А какая разница между: аутентификация =>: обычный и: логин?

Спасибо.

Ответы [ 5 ]

6 голосов
/ 31 июля 2010

Это хорошо для меня:

config.action_mailer.smtp_settings = {
    :address              => 'smtp.gmail.com',
    :port                 => 587,
    :domain               => 'gmail.com',
    :user_name            => 'my_nick@gmail.com',
    :password             => 'secret_password',
    :authentication       => 'login',
    :enable_starttls_auto => true
  }

подробнее здесь

Петр

1 голос
/ 15 октября 2014

У меня была такая же проблема, но это просто проблема конфигурации Google.

По какой-то причине Google блокировал доступ из неизвестного местоположения (приложение в производстве), поэтому для решения этой проблемы вы можете перейти на http://www.google.com/accounts/DisplayUnlockCaptcha и нажать «Продолжить» (это предоставит доступ на 10 минут для регистрации новых приложений).

С другой стороны, вы можете войти в свою учетную запись gmail, затем перейти на https://www.google.com/settings/security/lesssecureapps и включить доступ к менее защищенным приложениям, что было для меня решением!

1 голос
/ 28 марта 2012

Я недавно получил ту же ошибку, и причина была неправильный формат получателей

recipient = IO.readlines(emails_filename).first
mail(:to => recipient, :subject => subject)

Не забудьте добавить strip, чтобы получить чистые адреса электронной почты.

0 голосов
/ 30 января 2015

Вы должны использовать ActionMaliler :: Base вместо config

   ActionMailer::Base.smtp_settings   #try this

  config.action_mailer.smtp_settings   #instead of this

Измените ваш SMTP-код на ниже.Это должно работать сейчас.

      ActionMailer::Base.smtp_settings = {
         :address        => 'path_to_address_specified_by_my_hoster',
         :port           => 25,
         :domain         => 'my_domain.com',
         :authentication => :plain,
         :user_name      => 'signup@my_domain.com',
         :password       => 'password'
          }
0 голосов
/ 28 января 2014

Пожалуйста, попробуйте войти через браузер один раз. Может быть какая-то проблема с логином (он попросит капчу и т. Д.).

После успешного входа в систему попробуйте Rails Mailer. Это должно работать сейчас.

Эта проблема обычно возникает с тестовой учетной записью, поскольку мы обычно не осуществляем вход через браузер. Затем почтовые провайдеры запрашивают подтверждение, например, капчу, доб или ответ на секретный вопрос и т. Д.

...