ダミーSMTPサーバ
開発などで本番のメールサーバ(SMTPサーバ)を使わずに開発可能
AWS上でのインストール記録。
OS:Red Hat Enterprise Linux Server release 6.7 (On AWS)
Ruby:標準のRubyは1.8.7と古いのでrbenv+ruby-buildでRubyをインストールする
# yum install git
今回はrbenvを/opt配下にインストールする。
GitHubからrbenvをclone
# cd /opt # git clone git://github.com/sstephenson/rbenv.git
rbenvへパスを通す設定と初期化を行う行を追記
# echo 'export RBENV_ROOT="/opt/rbenv"' >> /etc/profile # echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile # echo 'eval "$(rbenv init -)"' >> /etc/profile
# mkdir /opt/rbenv/plugins # cd /opt/rbenv/plugins # git clone git://github.com/sstephenson/ruby-build.git
# yum install gcc gcc-c++ openssl-devel readline-devel sqlite-devel
# rbenv install -l ...... 2.2.3 2.2.4 2.2.5 2.3.0-dev 2.3.0-preview1 2.3.0-preview2 2.3.0 ......
今回は2.2.5をインストールする
# rbenv install 2.2.5 Downloading ruby-2.2.5.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2 Installing ruby-2.2.5... Installed ruby-2.2.5 to /opt/rbenv/versions/2.2.5
rbenv globalで、環境全体での Ruby バージョンを指定
# rbenv global 2.2.5
確認
# ruby -v ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-linux]
# gem install mailcatcher
mailcatcherは標準でsmtpを1025、web uiを1080ポートで待ち受ける。1)
# iptables -A INPUT -p tcp --dport 1080 -j ACCEPT # iptables -A INPUT -p tcp --dport 1025 -j ACCEPT # service iptables save # service iptables restart
起動するとデーモンとして動き続ける。終了はWebUIのQuitで行う。
defaultポートはsmtpが1025、httpが1080となり、webはlocalhostからのみアクセス可能
$ mailcatcher
全てのIPからWEBへアクセス可能とするには以下のように2)
$ mailcatcher --http-ip=0.0.0.0 --http-port 51080
$ 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 -v, --verbose Be more verbose -h, --help Display this help information -h, --help Display this help information
uri | 機能 |
---|---|
/messages/ | メッセージ一覧 |
/messages/<id>.json | 指定IDメッセージのメタデータ取得 |
/messages/<id>.html | 指定IDメッセージのHTML取得 |
/messages/<id>.plain | 指定IDメッセージのTEXT取得 |
/messages/<id>/<cid> | 指定IDメッセージに紐づくCIDの添付ファイル取得 |
/messages/<id>.source | 指定IDメッセージのデータ |