Rails 4, Как правильно настроить параметры smtp (gmail)
Я пытаюсь создать контактную форму в Rails 4. Я немного покопался здесь и смог заставить большую часть материала работать. (далее следует работа @sethfri здесь контактная форма Mailer в Rails 4)
Прямо сейчас я могу заполнить свою форму и нажать кнопку Отправить. На моем сервере rails он говорит, что Почта исходила на мой адрес электронной почты, но я ничего не получаю в своем почтовом ящике gmail, поэтому я думаю, что мои настройки smtp неверны. Мои параметры SMTP:
...config/environments/development.rb
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "mydomain.net",
:user_name => "mygmailusername@gmail.com",
:password => "myGmailPassword",
:authentication => "plain",
:enable_starttls_auto => true
}
И еще я добавил: .../config/инициализаторы / smtp_settings.rb
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "mydomain.net",
:user_name => "gmailuser@gmail.com",
:password => "gmailPassword",
:authentication => "plain",
:enable_starttls_auto => true
}
Что я упускаю/делаю неправильно? Я поиграл с парой вещей (изменил default_url на порт 1025, изменил :port = > " 587 " на: port = > > 587) без успеха.
Спасибо за помощь!
Ответы - Rails 4, Как правильно настроить параметры smtp (gmail) / Rails 4, how to correctly configure smtp settings (gmail)

16.09.2014 07:31:55
Вы должны правильно установить домен. В настоящее время в коде размещена его "mydomain.net". измените его на gmail.com если вы хотите отправить его через gmail.
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: 'xyz@gmail.com',
password: 'yourpassword',
authentication: :plain,
enable_starttls_auto: true
}

18.07.2015 06:26:02
Google рекомендует использовать OAuth 2.0 для процесса входа в систему. Эта конфигурация "не так безопасна" для google, но они терпят ее. Вы должны разрешить "менее безопасные соединения" в настройках Вашего аккаунта Google или использовать OAuth-way. https://developers.google.com/identity/protocols/OAuth2
Их библиотека для Руби по-прежнему Альфа. Кажется, есть некоторые драгоценные камни, расширяющие ActionMailer для OAuth, но я никогда не использовал их.

15.08.2015 01:35:29
Если вы столкнулись с такими ошибками, как Net::SMTPAuthenticationError при использовании gmail для отправки электронных писем (обычно для учетных записей Google Apps), посетите настройки gmail и включите менее безопасные приложения, чтобы заставить приложение работать.

23.03.2016 01:18:33
После нескольких часов поиска, как заставить это работать на меня, я нахожу способ заставить это работать. Для себя я должен был сделать 2-шаговую проверку и использовать пароль приложения Gmail
Когда вы включаете двухэтапную проверку подлинности (также известную как двухфакторная аутентификация), вы добавляете дополнительный уровень безопасности к своей учетной записи. Вы входите в систему с тем, что вы знаете (ваш пароль) и что у вас есть (код, отправленный на ваш телефон).
Настройка 2-шаговой проверки
- Перейдите на страницу 2-шаговой проверки. Возможно, вам придется войти в свой аккаунт Google.
- В поле" 2-ступенчатая проверка " справа выберите пункт начать настройку.
- Следуйте пошаговому процессу настройки.
Пароль приложения - это 16-значный код доступа, который дает приложению или устройству разрешение на доступ к вашей учетной записи Google. Если вы используете 2-шаговую проверку и видите ошибку "неверный пароль" при попытке получить доступ к вашей учетной записи Google, пароль приложения может решить эту проблему. В большинстве случаев вам нужно будет ввести пароль приложения только один раз для каждого приложения или устройства, поэтому не беспокойтесь о его запоминании
Как сгенерировать пароль приложения
- Посетите страницу паролей вашего приложения. Возможно, Вам будет предложено войти в свой аккаунт Google.
- В нижней части экрана нажмите кнопку Выбрать приложение и выберите используемое приложение.
- Нажмите кнопку выбрать устройство и выберите используемое устройство.
- Выберите Пункт Создать.
- Следуйте инструкциям, чтобы ввести пароль приложения (16-значный код в желтой строке) на вашем устройстве.
- Выберите Готово

01.06.2019 06:38:25
2020, рельсы 6 обновленный ответ:
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_caching = false
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
authentication: "plain",
enable_starttls_auto: true,
user_name: "blabla@gmail.com",
password: "blabla",
domain: "smtp.gmail.com",
openssl_verify_mode: "none",
}