blojsomが吐き出すログを見てると
[INFO ] 2005-01-21 09:13:10 [Thread-18] Marked moblog mailbox as disabled for user: default. No moblog-hostname property. - (MoblogPluginUtils.java:135)
というログが12分間隔で延々続いていた。
なんだこれはとblojsom公式で調べるとどうやら
moblogというメールからエントリを書き込めるプラグインがあるらしい。
そのmoblogの設定が正しくされていないからこのログが出ているようだ。
せっかくなのでこの機能を有効にして携帯から書き込めるようにしてみることに。画像を添付すると勝手にimgタグを付けて貼り付けてくれるみたいだし。
moblogの設定はまず/WEB-INF/plugin.propertiesに
moblog=org.blojsom.plugin.moblog.MoblogPlugin
moblog-admin=org.blojsom.plugin.moblog.admin.MoblogAdminPlugin
を書き込む。というかデフォルトで入ってる。
次に/WEB-INF/web.xmlに
<init-param>
<param-name>plugin-moblog</param-name>
<param-value>moblog.properties</param-value>
</init-param>
と書く。これもデフォルトで入ってる。
次にmoblogがメールを取得するための情報を/WEB-INF/(blog-id)/moblog.propertiesに書き込む。
そもそもmoblogプラグインがメールを取得する方法は指定のアカウントがあるPOP3(IMAP)サーバにログインし、定期的にメールがあるかどうかチェックしてメールを取得するようだ。
ファイルの中はこんな感じ。
moblog-hostname=(POP3サーバのIP)
moblog-userid=(メアドアカウントID)
moblog-password=(パスワード)
moblog-category=/
moblog-enabled=true
moblog-authorization=moblog-authorization.properties
moblog-authorization.propertiesにはエントリの投稿を許可するFromメアドを列挙しておけば、それ以外のメアドでは投稿できなくなる。
これで準備は完了だけどmoblogプラグインがメールをチェックする間隔はデフォルトで5分になっているので、これを調節したければweb.xmlに
<init-param>
<param-name>plugin-moblog-poll-time</param-name>
<param-value>(チェックする間隔(秒))</param-value>
</init-param>
と書けばいいみたい。
早速メールを書いて送ってみるとサブジェクトはちゃんと日本語になるけど、本文が化けてしまった。
moblogの設定を見てもエンコード方法を指定するところは無いし、困った。
困ったのでソースを追っていくことにした。
プラグイン本体はorg.blojsom.plugin.moblog.MoblogPluginなのでこの中に答えがあるはずだ。
見ていくとJavaMailからメールをInputStreamで読み出す際にUTF-8で読み出している、どうもこれが原因っぽい。
まずUTF-8なんかでメールを送ることはないと思うので、UTF-8になっているところをISO-2022-JPに書き換え。
コンパイルしてTomcat再起動後、もう一度メールを送ってみるとめでたく日本語が正常に表示された。
送ったエントリは
これ。
なかなか使えそうな予感。