開発用のメールサーバ mocksmtpd を gem にしてみた。
(2014/6/3 追記) MailCatcher がおすすめです。
(追記おわり)
が評判よかったので、気をよくしてgithubでgemを作ってみました。
インストール方法
$ gem sources -a http://gems.github.com $ sudo gem install koseki-mocksmtpd
gem本体を最新版にしといたほうがいいかもしれません。
使い方
一番簡単な使い方。
# 設定ファイル、ディレクトリを作成。 $ mocksmtpd init # コンソールモードで起動。 $ cd ./mocksmtpd $ sudo mocksmtpd
initで設定ファイル(mocksmtpd.conf)と、log、inboxディレクトリを作成します。initの後ろにディレクトリを指定できます。
$ mocksmtpd init path/to/configdir
デーモンとして起動・終了する場合は、start・stopをつけてください。
# デーモンとして起動・停止。 $ sudo mocksmtpd start $ sudo mocksmtpd stop
デフォルトではカレントディレクトリの ./mocksmtpd.conf を読み込みます。-fで設定ファイルを指定できます。
$ mocksmtpd -f /path/to/config/file start
initコマンドで生成される mocksmgtpd.conf の中身は以下のようになっています。YAML形式。
ServerName: mocksmtpd Port: 25 RequestTimeout: 120 LineLengthLimit: 1024 Loglevel: INFO LogFile: ./log/mocksmtpd.log PidFile: ./log/mocksmtpd.pid InboxDir: ./inbox Umask: 2
LogFile、PidFile、InboxDirが相対パスの場合、設定ファイルが置かれたディレクトリを基準にします。
ポートがデフォルトの25の場合、root権限が必要です。メール受信時に生成されるHTMLファイルは、設定ファイルと同じuid/gidになります。
TODO
tmailに依存することにして、添付ファイルに対応しようかなと思ってます。