【Linux】【Mail】 Linuxでの開発用SMTPサーバー [2] ~ MailCatcher編 ~

■ はじめに

http://blogs.yahoo.co.jp/dk521123/36252946.html
の続き。今度は、MailCatcher。

■ MailCatcher

 * 開発などのダミーSMTPサーバ

公式サイト

https://mailcatcher.me/

■ 設定手順

設定環境

 * OS : CentOS7

【1】 MailCatcher のインストール

[1-1] 必要なライブラリをいれておく
sudo yum update

sudo yum install -y gcc gcc-c++
sudo yum install -y ruby-devel rubygems
sudo yum install -y sqlite-devel
[1-2] MailCatcher をインストール
sudo gem install mailcatcher

# アンインストールは、「sudo gem uninstall mailcatcher」
[1-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 の起動

[2-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-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】 【任意設定】 外部アクセス可能にする

http://blogs.yahoo.co.jp/dk521123/36257284.html
より抜粋
~~~~~~~~~~~~
# ポート 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を自動起動させる

# systemd については、以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/36255225.html
[4-1] /etc/systemd/system 配下に、以下のMailCatcher.service を新規作成
sudo vi /etc/systemd/system/MailCatcher.service
[4-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


関連記事

WindowsWindowsでの開発用SMTPサーバー ~ ダミーSMTPサーバ構築 ~

https://blogs.yahoo.co.jp/dk521123/37222874.html

LinuxLinuxでの開発用SMTPサーバー [1] ~ FakeSMTP編 ~

https://blogs.yahoo.co.jp/dk521123/36252946.html

Email送信に関する単体試験について

https://blogs.yahoo.co.jp/dk521123/36257589.html

Java で、 Email を送るには... [1] ~ JavaMail / テキストメール編 ~

https://blogs.yahoo.co.jp/dk521123/36230453.html