■ はじめに
MailCatcher について設定する
【1】MailCatcher
* 開発などのダミーSMTPサーバ
1)公式サイト
【2】設定手順
0)設定環境
* OS : CentOS7
1)MailCatcher のインストール
[1] 必要なライブラリをいれておく
sudo yum update sudo yum install -y gcc gcc-c++ sudo yum install -y ruby-devel rubygems sudo yum install -y sqlite-devel
[2] MailCatcher をインストール
sudo gem install mailcatcher # アンインストールは、 # => sudo gem uninstall mailcatcher
[3] 確認
mailcatcher --help Usage: mailcatcher [options] --ip IP Set the ip address of both servers --smtp-ip IP Set the ip address of the smtp server --smtp-port PORT Set the port of the smtp server --http-ip IP Set the ip address of the http server --http-port PORT Set the port address of the http server --no-quit Don't allow quitting the process -f, --foreground Run in the foreground -b, --browse Open web browser -v, --verbose Be more verbose -h, --help Display this help information
2)MailCatcher の起動
[1] 起動コマンドを実行する
mailcatcher ip 【IPアドレス】 --http-port 【ポート番号】 --smtp-port 【SMTPポート番号】」を実行 ~【例】~~~~~~~~ mailcatcher ip 192.168.XX.XX --http-port 28080 --smtp-port 20025 ~~~~~~~~~~~~ ※ 「mailcatcher」だと、smtp「1025」http「1080」で起動される ==> smtp://127.0.0.1:1025 ==> http://127.0.0.1:1080
[2] 確認
# テストメールを送る echo "This is a test mail." | mail -s "[Title] Test Mail" -S "smtp=smtp://localhost:20025" -r from@confirm.com to@confirm.com # HTTPサーバにアクセス curl http://192.168.XX.XX:28080 # GUIであれば、ブラウザで「http://192.168.XX.XX:28080」にアクセスし # MailCatcherのサイトが表示されればOK
3)【任意設定】 外部アクセス可能にする
# ポート 28080 Open sudo firewall-cmd --add-port=28080/tcp --zone=public --permanent # ポート 20025 Open sudo firewall-cmd --add-port=20025/tcp --zone=public --permanent sudo firewall-cmd --reload # 確認 sudo firewall-cmd --list-all
4)【任意設定】Mailcatcherの自動起動
* systemd を使って、Mailcatcherを自動起動させる
[1] /etc/systemd/system 配下に、以下のMailCatcher.service を新規作成
sudo vi /etc/systemd/system/MailCatcher.service
[2] 以下のコマンドを入力し、サービスの自動起動ONにし、OS再起動
# 「which mailcatcher」で、mailcatcherのパスを調べる which mailcatcher # 今回は、「/usr/local/bin/mailcatcher」 # 以下『/etc/systemd/system/MailCatcher.service』の『ExecStart=/usr/local/bin/mailcatcher・・・』で使う systemctl enable MailCatcher.service systemctl is-enabled MailCatcher.service # OS再起動 reboot
/etc/systemd/system/MailCatcher.service
[Unit] Description=Mailcatcher Service After=network.service [Service] Type=simple ExecStart=/usr/local/bin/mailcatcher --foreground --ip 0.0.0.0 --smtp-port 20025 --http-port 28080 [Install] WantedBy=multi-user.target
参考文献
https://wiki.rookie-inc.com/development/mailcatcher
https://erorr.org/217/
https://laravel10.wordpress.com/2015/02/23/mailcatcher%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1%E3%83%86%E3%82%B9%E3%83%88/
http://rriifftt.hatenablog.com/entry/2014/09/09/155055
http://tech.respect-pal.jp/mail_debug_with_mailcatcher/
http://www.d-wood.com/blog/2013/05/22_3674.html
gem について
http://qiita.com/pb_tmz08/items/269c43418894071dc0b1
Mailcatcherの自動起動
https://gist.github.com/jamiejackson/a195a97a1b9f20b2d179
関連記事
【Windows】 Windowsでの開発用SMTPサーバー ~ ダミーSMTPサーバ構築 ~
【Linux】 Linuxでの開発用SMTPサーバー [1] ~ FakeSMTP編 ~
Email送信に関する単体試験について
Java で、 Email を送るには... [1] ~ JavaMail / テキストメール編 ~