SMTP-AUTH запрошен, но отсутствует имя пользователя
В настоящее время я занимаюсь обучением Даниэля Кехо по изучению Ruby on Rails Одним из упражнений является отправка контактной формы со страницы контактов с использованием учетной записи Google Gmail.
Однако, когда я отправляю контактную форму, вместо того, чтобы получать электронное письмо в своем почтовом ящике, я получаю эту ошибку:
"SMTP-AUTH запрошен, но отсутствует имя пользователя"
В моем файле config/application.yml я установил имя пользователя и пароль Gmail.
У кого-нибудь есть идеи в чем может быть проблема?
Спасибо за вашу помощь,
Энтони
2 ответа
Для Rails 4.0 (Rails 4.1 использует файл secrets.yml для установки учетных данных):
Проверьте файл config/environment / development.rb, у вас должно быть это:
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: ENV["DOMAIN_NAME"],
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"]
}
# ActionMailer Config
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = true
# Send email in development mode.
config.action_mailer.perform_deliveries = true
Попробуйте заменить ENV["GMAIL_USERNAME"] на свое имя пользователя Gmail.
Вы можете установить ENV["GMAIL_USERNAME"] в вашей оболочке Unix. Или установите его в файле config / application.yml. Если имя пользователя содержит не-буквенные символы, вам может потребоваться заключить его в кавычки в файле config / application.yml.
Просто проверьте правильность имени параметра. Для меня меняется username
в user_name
решил проблему.
Если вы хотите видеть ошибки, измените значение config.action_mailer.raise_delivery_errors
в true
, У меня есть Rails 4, и он не требует каких-либо изменений настроек для правильной работы.
Спасибо @Toontje и @Daniel Kehoe