Ruby: Rails アプリから ActionMailer でメール送信

gmail 使う場合(二段階認証とかにしてたら無理かも)はもっと楽。

Cent OS 上にデプロイしているとして、
postfix などでメールが送信可能な状態になっていることが必須。

config/environments/development.rb を編集

# Don't care if the mailer can't send.
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
        :address => 'localhost'
  }

メーラーをジェネレート

$ rails g mailer NoticeMail sendMail

ActionMailer のサブクラスができるので編集

app/mailers/notice_mail.rb

class NoticeMail < ActionMailer::Base
  default from: "from@example.com"

  # Subject can be set in your I18n file at config/locales/en.yml
  # with the following lookup:
  #
  #   en.notice_mail.sendMail.subject
  #
  def sendMail
    @greeting = "Hi"

    mail to: "送信先メールアドレス"
    mail subject: "テストメール"
  end
end

HTML メールテンプレートの編集はこっち
app/views/notice_mail/sendMail.html.erb

TEXT メールテンプレートの編集はこっち
app/views/notice_mail/sendMail.text.erb

送信テスト
先ほどの notice_mail.rb の to に自分のメールアドレスとかを入れてテスト

$ rails c
> NoticeMail.sendMail.deliver