Подтвердить что ты не робот

Как отправить электронную почту через smtp с помощью Ruby mail gem?

Я использую камень mail для Ruby https://github.com/mikel/mail

Как отправить сообщение через SMTP-сервер? Как указать адрес и порт? И какие настройки следует использовать для Gmail?

README в github только дает примеры отправки локальным сервером.

4b9b3361

Ответ 1

Из http://lindsaar.net/2010/3/15/how_to_use_mail_and_actionmailer_3_with_gmail_smtp

Для отправки через GMail вам необходимо настроить класс Mail::SMTP, чтобы иметь правильные значения, поэтому, чтобы попробовать это, откройте IRB и введите следующее:

require 'mail'

options = { :address              => "smtp.gmail.com",
            :port                 => 587,
            :domain               => 'your.host.name',
            :user_name            => '<username>',
            :password             => '<password>',
            :authentication       => 'plain',
            :enable_starttls_auto => true  }



Mail.defaults do
  delivery_method :smtp, options
end

Последний блок вызывает Mail.defaults, который позволяет нам установить глобальный метод доставки для всех создаваемых в настоящее время почтовых объектов. Power user tip, вы не должны использовать глобальный метод, вы можете определить delivery_method непосредственно на любом отдельном объекте Mail::Message и иметь разные агенты доставки по электронной почте, это полезно, если вы создаете приложение с несколькими пользователями с разными серверами обрабатывая электронную почту.

Mail.deliver do
       to '[email protected]'
     from '[email protected]'
  subject 'testing sendmail'
     body 'testing sendmail'
end