====== MailCatcher ====== ダミーSMTPサーバ\\ 開発などで本番のメールサーバ(SMTPサーバ)を使わずに開発可能 ===== このページについて ===== AWS上でのインストール記録。 ===== 環境 ===== OS:Red Hat Enterprise Linux Server release 6.7 (On AWS) Ruby:標準のRubyは1.8.7と古いのでrbenv+ruby-buildでRubyをインストールする ===== インストール ===== ==== git ==== # yum install git ==== rbenv ==== 今回は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 ==== ruby-build ==== # 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 ...... ==== Ruby ==== 今回は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] ==== MailCatcher ==== # gem install mailcatcher ===== 設定 ===== ==== ポートを開ける ==== mailcatcherは標準でsmtpを1025、web uiを1080ポートで待ち受ける。((変更したい場合には起動オプションで行う)) # 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へアクセス可能とするには以下のように((ちなみにportは51080)) $ 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 ===== API ===== ^uri^機能^ |/messages/|メッセージ一覧| |/messages/.json|指定IDメッセージのメタデータ取得| |/messages/.html|指定IDメッセージのHTML取得| |/messages/.plain|指定IDメッセージのTEXT取得| |/messages//|指定IDメッセージに紐づくCIDの添付ファイル取得| |/messages/.source|指定IDメッセージのデータ|