酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

ブラウザ上でRails送信メールを確認できるGem Mail_view

ActionMailerを使えばRailsからアプリを送信出来ますが、作成途中のメールを確認したい時があると思います。そんな時に、ブラウザから作成中のメールを確認できるようになるのが、『mail_view』です。小さなチーム、大きな仕事でお馴染みの37signals作です!


どんな風に表示されるか?

この『mail_view』を使うとプレーンテキストのメールがブラウザで次のように表示されます。

HTMLメールの場合はこちら。

Gemのインストール

Gemfileに以下を追加して、bundle installを実行してください。

1
2
# ブラウザ上でメールを確認
gem "mail_view", "~> 1.0.3"

使い方

まずは、ActionMailerのクラスapp/mailers/message.rbを作成。

1
2
3
4
5
6
7
8
9
10
11
12
13
class Message < ActionMailer::Base
  # デフォルトでの送信元のアドレス
  default from: "from@example.com"

  def hello(name)
    @name = name
    mail(
      to:      'to@example.net',
      subject: 'Mail from Message',
    ) do |format|
      format.text
    end
end

続いて、app/mailers/message_preview.rbを作成。

1
2
3
4
5
6
class MessagePreview < MailView
  # Pull data from existing fixtures
  def hello
    Message.hello
  end
end

でもってルーティングをconfig/routes.rbに設定。

1
2
3
if Rails.env.development?
  mount MessagePreview => 'message_preview'
end

あとは、ブラウザでhttp://localhost:3000/message_previewにアクセスすると、Message.helloのメールを確認できます。

公式サイト

最後に公式サイトの紹介です!

37signals/mail_view · GitHub

押さえておきたい書籍

いかがだったでしょうか?
もし説明がわかりにくかったり、間違っている場所があればぜひ一言!

Comments