Monday, August 19, 2013

Ruby製のテスト用メールサーバーmocksmtpdをBase64に対応

仕事でメール送信の機能を作るとき、ダミーのSMTPサーバーが必要になり、kosekiさんによるmocksmtpdというRuby製のものを見つけた。ただしBase64エンコードされたメールで日本語が表示できていなかったので、GithubでフォークしてBase64に対応した。あと、出力されるHTMLも若干変更しています。

daixque/mocksmtpd

特徴

  • Ruby製のSMTPサーバー
  • 受信したメールは転送せず、HTMLファイルに書き出す
  • Base64に対応

詳細な使い方は作者のkosekiさんのブログも参考に。

開発用のメールサーバ mocksmtpd を gem にしてみた。

インストール

今はGithubがgemのホスティングをやめているので、specific_installというgemを利用する。これを使うとGithubのソースから直接gemをインストールできる。

$ gem install specific_install
$ gem specific_install -l https://github.com/daixque/mocksmtpd.git

起動

mocksmtpd initでmocksmtpdフォルダに設定ファイルなどを生成。そのままの設定でよければ、そのフォルダに移動してmocksmtpdコマンドを実行する。デフォルトでは25番ポートを使おうとするので、sudoが必要。メールを受信するとinboxフォルダにHTMLファイルが作られる。
$ mocksmtpd init
$ cd ./mocksmtpd
$ sudo mocksmtpd

No comments: