MT5を導入したので、携帯からのメール投稿の仕組みも入れてやろうと思い立った。
従来はMT3.3+mail-entryの組み合わせでやってきたが、MTのバージョンがあがったときにどうなるかよくわからなかった(なのでずっとMT3のまま…なんという本末転倒)。
SkyarcというMT専業のベンダーがMailPackという使いやすそうなプラグインを無償(ただし評価版という位置づけ)で提供しているのを発見、早速導入に挑戦した。(どうでもいいけど、製品紹介ページからダウンロードページへのリンクが切れてるような…)
いくつかはまった点をメモ。
- メールを読み込んでいるはずなのに無視される→投稿メールの送信元となるアドレスをMTのユーザー連絡先として登録しておかないとSPAMとして取り扱われる
- Use of uninitialized value in addition (+) at /virtual/manabu/public_html/mt5/plugins/MailPack/lib/Net/Cmd.pm line 568.というエラーが出る→Reffi JP blogの記事「MailPackプラグインの補足など」を参考にCmd.pmを修正
- プラグインのインストールはうまくいったはずなのに設定メニューが選択肢に表示されない→mt.cgi?__mode=list_mailpack&blog_id=xを直接指定してみる
- run-periodic-taskを定期実行するように設定するが、山ほどcommand not foundが出る→mtのアプリケーションディレクトリ/tools/run-periodic-taskを実行するだけでは同一ディレクトリ内の資源にアクセスができない。当該ディレクトリにcdしてから実行するシェルを書いて、それをcronで指定する
- 投稿メール内にHTMLタグを書くとエスケープされてしまう(考えてみれば当然の仕様かも)。Amazonの商品情報を引用する関係でどうしてもPHPの関数を投稿したい→post_entryでエスケープの処理を行っているので、当該の関数だけアンエスケープしなおすように修正
- 投稿通知メールが壮絶に文字化け→Skyarc社の「メール送信内容が文字化けする場合」に従って修正(場合も何も、この仕様じゃ日本中で文字化けすると思うんだけど)