-
Notifications
You must be signed in to change notification settings - Fork 9
mailtrap
mailtrap Mailtrapは安全にE-mailをテスト配信するためのアドオンです。
Mailtrapは 開発環境 や ステージング環境 から検証目的でメール送信した際にメールの内容を確認できるダミーのSMTPサーバーです。
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を利用するためには、ローカルの環境変数を設定する必要があります。
Procfileに指定されたプロセスを管理するForemanを使います。Foremanは環境変数を .env ファイルから読み込むので、mailtrapで利用する環境変数も、 .envファイルへ書き込みます。
:::term
$ heroku config -s | grep MAILTRAP >> .env
$ more .env
認証情報や各種サービスの設定値は、ソース管理システムにコミットすべきではないので、`echo .env >> .gitignore` でgitの設定をします。
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
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を選択することでも開けます。
Mailtrapアドオンは以下のCLIで削除できます。
:::term
$ heroku addons:remove mailtrap
-----> Removing mailtrap from sharp-mountain-4005... done, v20 (free)
Mailtrapのサポートは、Heroku Support channelsへ、それ以外の問題やフィードバックは、[email protected]へどうぞ。