MailCatcher でメールの送受信をテストしよう
お問い合わせフォームや、 ECの注文完了、サンクスメール、メルマガ機能など、メールの送信機能をテストしたい場合に便利なツールをご紹介します。
メール送信関連の機能を開発する際、大量にメールを送信してメールサーバーに怒られたり、携帯キャリアのドメインへの送信など、通常のメールサーバーでは、テストが難しいことが多いです。
この MailCatcher というツールは、
- テスト用の SMTP サーバーとして使用可能
- 外部にメールを漏らさない
- MailCatcher の SMTP に送信したメールを受信チェック可能
という便利な機能を持っています。
インストール方法
- 前提として Ruby1.9.3以降 がインストールされている必要があります
- Windows でも動きます。
### インストール
gem install mailcatcher
### 起動
mailcatcher
docker をお使いの方は、以下のコマンドを使用すると良いでしょう
docker run -d -p 1080:1080 -p 1025:1025 \
--name mailcatcher schickling/mailcatcher
設定方法
SMTP サーバーのポート番号に 1025 を指定するだけです。
EC-CUBE3系をお使いの場合は、 app/config/eccube/mail.yml
を以下のように設定します。
mail:
transport: smtp
host: localhost
port: '1025'
username: ''
password: ''
encryption: null
auth_mode: null
charset_iso_2022_jp: false
EC-CUBE2系をお使いの方は、 管理画面→パラメータ設定または、 data/config/config.php
の以下のパラメータを設定をしてください。
- MAIL_BACKEND smtp
- SMTP_PORT 1025
- SMTP_HOST localhost
メールの確認方法
送信したメールをチェックするには、ブラウザから http://localhost:1080 にアクセスします。
これを使えば、携帯キャリアのRFC違反メールアドレスもテスト可能です。
また、メールが外に漏れることはないので、顧客にテストメールを送信してしまう、、などのトラブルも防止できます。
その他
Web API 経由でもメールチェック可能ですので、EC-CUBE3 では、この MailCatcher をユニットテストで活用しています。
興味のある方は EccubeTestCase クラス をご覧ください
Author And Source
この問題について(MailCatcher でメールの送受信をテストしよう), 我々は、より多くの情報をここで見つけました https://qiita.com/nanasess/items/8194ae76c1b94c9a7bb9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .