久保清隆のブログ

ライフハック、健康、旅行など、役立つ情報を書きます。

Ruby on Railsでメールを送信する方法

Ruby on Railsでメールを送信する方法をまとめた。

目次

メールの送受信を行うモデルをつくる。

app/models/notify_mailer.rb

モデルにメソッドを作成する。

def new_mail(from, recipients, name)
  @subject = "件名"
  @recipients = recipients
  @from = from
  @headers = {'content-transfer-encoding' => '7bit'}
  @body = {:name => name} #@body で指定した情報はビューでインスタンス変数として参照できる。
end

メール本文をViewで作成。

app/views/new_mail.rhtml

こんにちわ、<%= @name %>さん。

※インスタンス変数は、モデルのメソッドの中で@bodyにおいて指定する。

コントローラを作成

app/controllers/send_mail_controller.rb

def send_mail
  NotifyMailer.deliver_new_mail('hoge@ezweb.ne.jp', 'fuga@docomo.ne.jp', '久保')
end

このコントローラのメソッドを実行すればメールは送信される。