Rails 4, Как правильно настроить параметры smtp (gmail)


Rails 4, Как правильно настроить параметры smtp (gmail)

16.09.2014 07:09:36 Просмотров 88 Источник

Я пытаюсь создать контактную форму в 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)

TarunJadhwani

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
}
DOK

18.07.2015 06:26:02

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

Их библиотека для Руби по-прежнему Альфа. Кажется, есть некоторые драгоценные камни, расширяющие ActionMailer для OAuth, но я никогда не использовал их.

Kim Miller

15.08.2015 01:35:29

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

Gabriel Sigouin

23.03.2016 01:18:33

После нескольких часов поиска, как заставить это работать на меня, я нахожу способ заставить это работать. Для себя я должен был сделать 2-шаговую проверку и использовать пароль приложения Gmail

Когда вы включаете двухэтапную проверку подлинности (также известную как двухфакторная аутентификация), вы добавляете дополнительный уровень безопасности к своей учетной записи. Вы входите в систему с тем, что вы знаете (ваш пароль) и что у вас есть (код, отправленный на ваш телефон).

Настройка 2-шаговой проверки

  1. Перейдите на страницу 2-шаговой проверки. Возможно, вам придется войти в свой аккаунт Google.
  2. В поле" 2-ступенчатая проверка " справа выберите пункт начать настройку.
  3. Следуйте пошаговому процессу настройки.

Пароль приложения - это 16-значный код доступа, который дает приложению или устройству разрешение на доступ к вашей учетной записи Google. Если вы используете 2-шаговую проверку и видите ошибку "неверный пароль" при попытке получить доступ к вашей учетной записи Google, пароль приложения может решить эту проблему. В большинстве случаев вам нужно будет ввести пароль приложения только один раз для каждого приложения или устройства, поэтому не беспокойтесь о его запоминании

Как сгенерировать пароль приложения

  1. Посетите страницу паролей вашего приложения. Возможно, Вам будет предложено войти в свой аккаунт Google.
  2. В нижней части экрана нажмите кнопку Выбрать приложение и выберите используемое приложение.
  3. Нажмите кнопку выбрать устройство и выберите используемое устройство.
  4. Выберите Пункт Создать.
  5. Следуйте инструкциям, чтобы ввести пароль приложения (16-значный код в желтой строке) на вашем устройстве.
  6. Выберите Готово
truongnm

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",
  }
Помочь в развитии проекта:
Закрыть X