Yuriko.Net 個別記事

2008-05-25
雨のちくもり

WordPress メール投稿プラグイン Ktai Entry 0.8.3 リリース

WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.3 をリリースいたします。変更点は以下の通りです。

  • 各社装飾メール (デコメ/デコレーションメール等) を送信した場合、同じテキストが重複しないようにしました。装飾をそのまま反映する機能は未実装です。
  • ログ機構が吐くメッセージを日本語化しやすいように、po ファイルにログ用文字列を含めました。デフォルトでは、文字化けを防ぐために英語メッセージのままです。日本語化は各自で行なってください。
  • From フィールドに MIME エンコードされた日本語を含む場合でも正しくメールアドレスを検出するようにしました。従来、1バイト目もしくは2バイト目に < や > を含む場合 (「ぜ」「下」「次」など) では漢字部分をメールアドレスとして判断してしまっていました。
  • 日本語名の添付ファイルを正しく検出するようにしました。ただし、保存時は日本語部分を削除したファイル名となります。すべて日本語部分のときは、ランダムな英数字をファイル名とします。

(以下、技術的な難し〜〜い話)
今回はバグフィックスのみです。「From に漢字を使っていると投稿できない」というバグに対応するため、MIME ヘッダをデコードしないことにしました。From, To, Cc フィールドからメールアドレスを抽出する処理は、正規表現ではなく RFC2822 に準拠した方式にしているのですが、従来、MIME B デコードしてから処理していたため、日本語部分にメールアドレスっぽい文字列があると抽出に失敗していました。MIME デコードしない状態で抽出すれば OK です。正規表現でメールアドレスを探す場合、”Ikeda,Yuriko”@example.com だとか、@ の前後に空白がある (yuriko @ example.com) とかでうまく抽出できないという問題がありますが、独自方式にも落とし穴がありました……。

日本語ファイル名ですが、Ktai Entry は「携帯電話から投稿する」ことを主眼にしていたので、ファイル名は英数字記号だけと想定していました。しかし、PC からメール送信する場合は日本語があり得るので、今回対応を図りました。そうなると、RFC2231 に対応しなければなりませんよね ;-)

既存ツールでは、MobG だけが RFC2231 準拠の日本語ファイル名を認識できます。さすがですね (でも、ソースに「RFC2331」と書いてあるのはご愛嬌)。wp-mb_mail は、RFC 非準拠の MIME B エンコードだけ対応、wpmob は日本語ファイル名を認識できません。まあ、「携帯電話から投稿」という意味では、あまり問題ではないでしょう。

なお、WordPress MU でメールサーバーの設定が入力できない件の対応は見送りました。「MU だけフィールドを増やす」手が楽ですが、それならすべての WordPress で設定フィールドをつけてもよさそうです。で、そうなると、wp-mail.php 起動の根本対策として、メールサーバー設定カラム名称を独自のものに変更することが可能になってしまいます。こうするとセキュリティーが非常にアップして魅力的なのですが、似た設定項目が複数あるとややこしいのではないかと気にもしています。そのへんの検討が進んでないので、見送り、としました。

トラックバック・コメント »

  1. 携帯メール記事投稿系をVer0.83へバージョンアップ!

    このブログの携帯メール記事投稿系の制御を行っているプラグイン

    Ktai Entry @ Yuriko.net

    バージョンを0.81 -> 0.83に

    上げました

    主に不具合つぶしが中心のリリースです

    こちら,通常投稿…

    吟遊詩人の戯言からのトラックバック
  2. いつもたいへんお世話になっております。
    現在運用しているサイトではwp-shotを使っておりますが、試験中の別サイトにてKtai Entry0.8.3を試用しております。
    非常に使い勝手の良いプラグインで、本体も是非差替えたい(wp-shotで原因の捉えがたい障害が起こっていて強制差替え仮運用中ですが^^;)ところなのですが、一点だけ気にかかっている点があり、解決方法があればと調査中です。アドバイスをいただければ幸いです。

    現在運用している環境が、
    CORESERVERの共用(PHP5.2.5)です。
    WordPressは2.5.1(日本語)を利用しております。
    CORESERVER内に専用のアカウントを作成し、そこを投稿用アドレスに設定しております。
    携帯メール投稿後、PCでサイトにアクセスした際は、携帯からのメール投稿がすぐ反映されるのですが、携帯(Ktai Style1.34を入れています)からアクセスされた際に投稿のトリガーとならないのですが、これは仕様でしょうか。
    ※SoftBank 911T,au W44S,W-ZERO3[es]の携帯モードにて再現。

    サイトの性格上、携帯から投稿し、それをすぐコンテンツとして反映させたいというのがあります。
    いかんともしがたい場合はW-ZERO3からPCモードでアクセスをしようかと思いますが、それ以前に何らかの対処方法、調査するポイント等がありましたら、ご教示いただければ幸いです。

    Ktai Styleは非常に便利に遣わせていただいてます。
    1.50が出たらテンプレートカスタマイズもしっかりやってみようかと思っております。
    今後とも応援しております。

    dhalmelからのコメント
    • dhalmelさん:

      携帯メール投稿後、PCでサイトにアクセスした際は、携帯からのメール投稿がすぐ反映されるのですが、携帯(Ktai Style1.34を入れています)からアクセスされた際に投稿のトリガーとならないのですが、これは仕様でしょうか。

      はい、バージョン 0.8.1 以降ではそういう仕様です。wp_head フックで、メール確認用 JavaScipt を HTML ヘッダに挟みますので、Ktai Style による表示では、附属テンプレートの場合 wp_head が実行されないことと、携帯電話が JavaScript に対応していないこととで、そうなってしまいます。PC・携帯どちらも同じくらいの頻度でアクセスがあるだろうから、携帯からのアクセスはトリガーにならなくても実質問題ない、と考えています。

      即時反映させたい場合は、Ktai Style の管理機能で「Ktai Entry によるメール投稿の新着確認」がありますので、それを使ってください。

      ゆりこからのコメント
      • ありがとうございます。
        Ktai Style側の管理画面ですね。確認いたしました。

        メール投稿する投稿者自身が即時確認したいケースがあるもので、
        (そして、そこまでアクセスが頻繁にあるわけではないので^^;)
        どう対応しようかと思っておりました。
        0.84導入も図ってみます。

        dhalmelからのコメント
        • Ktai Style側の管理画面ですね。確認いたしました。

          ほかにも、http:/example.com/wp-content/plugins/ktai_entry/retrieve.php を携帯電話でアクセスしてしまう方法もあります。確認時間間隔を越えている場合、メール取得処理が行なわれるようになっています (即時確認ではない)。この場合、メッセージがほとんど出ませんので、管理画面にアクセスできるならば、上記の方法の方が確実です。

          できれば、MTA から .qmail/.forward で起動される方法を試してみてください。この方が確実です。Apache が落ちていても、CLI 版 PHP と MySQL が動いていれば投稿できます ;-)

          ゆりこからのコメント

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title="" ktai=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る