Skip to content
Naoto Koshikawa edited this page Sep 24, 2013 · 3 revisions

mailtrap Mailtrapは安全にE-mailをテスト配信するためのアドオンです。

Mailtrapは 開発環境ステージング環境 から検証目的でメール送信した際にメールの内容を確認できるダミーのSMTPサーバーです。

mock SMTP server

アドオンの利用方法

MailtrapアドオンはCLI経由でherokuアプリケーションに追加できます。

:::term
$ heroku addons:add mailtrap
-----> Adding mailtrap to sharp-mountain-4005... done, v18 (free)

SMTPの設定値や認証情報は、MAILTRAP_HOST, MAILTRAP_PORT, MAILTRAP_USER_NAME, MAILTRAP_PASSWORD と言った環境変数を通して利用できます。各値の確認は以下のように行います。

:::term
$ heroku config -s | grep MAILTRAP
MAILTRAP_HOST=mailtrap.io
MAILTRAP_PORT=2525
MAILTRAP_USER_NAME=user
MAILTRAP_PASSWORD=pass

Mailtrapアドオンをアプリケーションへインストールした後は、アプリからアドオンを利用するための設定が必要です。

ローカル設定

アドオンを追加し、開発環境からMailtrapを利用するためには、ローカルの環境変数を設定する必要があります。

`export` コマンドで設定することも可能ですが、ポータビリティは失われます。

Procfileに指定されたプロセスを管理するForemanを使います。Foremanは環境変数を .env ファイルから読み込むので、mailtrapで利用する環境変数も、 .envファイルへ書き込みます。

:::term
$ heroku config -s | grep MAILTRAP >> .env
$ more .env

認証情報や各種サービスの設定値は、ソース管理システムにコミットすべきではないので、`echo .env >> .gitignore` でgitの設定をします。

Rails 3.xの例

config/environments/*.rb の ActionMailerの設定箇所を編集します。

:::ruby
if ENV['MAILTRAP_HOST'].present?
  ActionMailer::Base.delivery_method = :smtp
  ActionMailer::Base.smtp_settings = {
    :user_name => ENV['MAILTRAP_USER_NAME'],
    :password => ENV['MAILTRAP_PASSWORD'],
    :address => ENV['MAILTRAP_HOST'],
    :port => ENV['MAILTRAP_PORT'],
    :authentication => :plain
  }
end

Python/Djangoの例

settings.pyに以下の設定します。

:::python
EMAIL_HOST = ENV['MAILTRAP_HOST']
EMAIL_HOST_USER = ENV['MAILTRAP_USER_NAME']
EMAIL_HOST_PASSWORD = ENV['MAILTRAP_PASSWORD']
EMAIL_PORT = ENV['MAILTRAP_PORT']
EMAIL_USE_TLS = False

ダッシュボード

ダッシュボードは、以下のようにCLIから開くことも出来ます。 :::term $ heroku addons:open mailtrap Opening mailtrap for sharp-mountain-4005…

or by visiting the Heroku apps web interface and selecting the application in question. Select Mailtrap from the Add-ons menu.

また、Heroku のWebサイトからアプリケーションを選択し、利用中アドオンからMailtrapを選択することでも開けます。

dummy SMTP server. Mailtrap Heroku add-on.

アドオンの削除

Mailtrapアドオンは以下のCLIで削除できます。

関連データは削除されないのでもとに戻すことが可能です。
:::term
$ heroku addons:remove mailtrap
-----> Removing mailtrap from sharp-mountain-4005... done, v20 (free)

サポート

Mailtrapのサポートは、Heroku Support channelsへ、それ以外の問題やフィードバックは、[email protected]へどうぞ。

Clone this wiki locally