04 июля 2009

ActionMailer с Gmail без Rails: Camping

В последнее время пишу прототип внутреннего сервиса на Camping. Попутно должен заметить, что это весьма хорошая штука от чокнутого _why для очень быстрого прототипирования - весь мой фронтэнд лежит в одном файле и занимает 150 строк.
И само собой, без отправки электронной почты не обошлось. А раз уж camping это такие очень маленькие рельсы - почему бы не встать на плечи ещё одного из гигантов мира рельс - ActionMailer. К условиям задачи добавилась и необходимость использования Google Apps for Domains.
Первым делом нужно научить Ruby <= 1.8.7 там авторизоваться:

sudo gem install openrain-action_mailer_tls -s http://gems.github.com

подробнее
и в корне проекта с camping приложением создаём mailer.rb

# for this example the folder structure should be as follow
#
# --+ camping_project_root
#   |-- mailer.rb (this file)
#   |--+ mailer
#      |-- new_account.erb
 
require 'rubygems'
require 'action_mailer'
require "smtp_tls"
 
class Mailer < ActionMailer::Base
  def new_account(bar)
    recipients recipient
    from      "noreply@company.com"
    subject   "New account confirmation"
    body      :foo => bar
  end
 
end
 
Mailer.template_root = File.dirname(__FILE__)
 
Mailer.smtp_settings = {
  :address  => "smtp.gmail.com",
  :domain => "company.com",
  :port  => 587,
  :user_name  => "noreply@company.com",
  :password  => "noway",
  :authentication => :plain,
  :enable_starttls_auto => true
}


И в camping приложении подключаем этот мэйлер.

Комментариев нет: