Как послать почту с учетной записи Google из Ruby on Rails

В интернете мне попадалось несколько статей, в которых объясняется, как посылать почту с учетной записи Google из приложения под Ruby on Rails. Однако, некоторые из них не работают, а некоторые объяснены не до конца. Поэтому я хочу поделиться работающим примером, которым я пользовался в различных проектах.

Основная проблема с Gmail (или адресом, подключенным к Google Apps) заключается в том, что для работы с ними требуется соединение по SSL. Как это часто случается в Ruby, решение практически элементарное: вам просто нужно установить gem под названием tlsmail с помощью следующей команды:
gem install tlsmail

После этого, просто пропишите настройки требуемого почтового ящика, например в инициализаторе mail.rb или где вам угодно, не забывая добавить в начало строчку:
require 'tlsmail'

И выставляя параметр :tls в значение true.

Вот полный кусок кода:
# Кофигурация почты только для режима production
if RAILS_ENV == 'production'
  require 'tlsmail'
  Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
  ActionMailer::Base.delivery_method = :smtp
  ActionMailer::Base.perform_deliveries = true
  ActionMailer::Base.default_charset = "utf-8"
  ActionMailer::Base.raise_delivery_errors = true
  ActionMailer::Base.smtp_settings = {
  :domain          => "your-domain.com",
  :address         => 'smtp.gmail.com',
  :port            => 587,
  :tls             => true,
  :authentication  => :plain,
  :user_name       => 'address@your-domain.com',
  :password        => 'your-password'
}
end

Видите? С помощью gem'а tlsmail настройка почты Google стала очень простой.
Добавлено: 04 Сентября 2013 02:01:27 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...