メール送信するアプリのテスト方法
Webアプリの中のメール送信部分をデバッグする際に、いちいちメーラーで受信しないで済む方法はないかと考えて、MHonArcを使ってメールをHTML化するようにしてみた。以下はその備忘録。
MHonArcを設定する
- MHonArcをインストール
# apt-get install MHonArc # rpm -q MHonArc MHonArc-2.6.16-0vl1
# mkdir /var/www/ml # mkdir /var/www/ml/test # cp /usr/share/doc/MHonArc-2.6.16/examples/utf-8.mrc /var/www/ml/test.rc # chown -R nobody:nobody /var/www/ml
chownしているのは、HTMLを生成するプロセスがnobody権限でこのディレクトリに書き込めるようにするため。
- エイリアスの設定
/etc/aliases に以下を追記
test: "| /var/www/ml/test.sh"
/var/www/ml/test.sh の内容:
#!/bin/sh /usr/bin/mhonarc -rcfile /var/www/ml/test.rc -add -outdir /var/www/ml/test chmod a+r /var/www/ml/test/*
生成されるHTMLのパーミッションが600になってnobodyユーザ以外は読めなくなってしまうので、シェルスクリプトの最後でパーミッションを変更するようにした(全然イケてない方法だがとりあえず動く)。
- Apacheの設定:
/etc/httpd/conf.d/ml.conf:
Alias /ml/ /var/www/ml/ <Directory /var/www/ml> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from 127.0.0.1 </Directory>
これで、test@localhost宛に送ったメールがhttp://localhost/ml/test/で見られるようになった。