Запрошена SMTP-аутентификация, но отсутствует имя пользователя
-
21-12-2019 - |
Вопрос
в настоящее время я снимаюсь в фильме Дэниела Кехо Изучайте Ruby on Rails руководство.Одно из упражнений заключается в отправке контактной формы со страницы контактов, используя учетную запись Google Gmail.
Однако, когда я отправил контактную форму, вместо того, чтобы получить электронное письмо в свой почтовый ящик, я получаю эту ошибку:
"Запрошена SMTP-аутентификация, но отсутствует имя пользователя"
В моем файле config/application.yml я установил свое имя пользователя и пароль для Gmail.
У кого-нибудь есть идеи, в чем может быть проблема?
спасибо за вашу помощь,
Энтони
Решение
для рельсов 4.0 (Rails 4.1 использует файл Secrets.yml для установки учетных данных):
Проверьте файл Config / Currces / 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