Yuriko.Net 個別記事
2008-08-14

WordPress メール投稿プラグイン Ktai Entry 0.8.7 リリース
WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.7 をリリースいたします。変更点は以下の通りです。
- プラグインを無効化したとき、メール設定のパスワードを別途保管しておき、後で有効化したとき復帰させるようにしました (従来は、プラグインを無効化すると、メール設定のパスワードが初期化されていました)。
- ページキャッシュを行うプラグイン (WP-Cache, WP Super Cache) が有効な場合、外部メールボックスを読み出すトリガーとなるスタイルシートは常時表示させるようにしました。キャッシュが有効な場合、読み出し時間間隔を経過してスタイルシートを表示させるようにしても、実際のページ出力に反映されないことがあるためです。
- ログ機能のメッセージの日本語化を簡単に行えるようにしました。
- 管理パネルで「オプションの削除」を行ったとき、メールボックスの確認を最後に行った時刻を削除するようにしました。(従来は削除が漏れていました)
- post_name フィルターが実行されていない不具合を修正しました。
今回はバグフィックスなどの細かな修正です。特にプラグインを無効→有効にしたときに外部メールボックスのパスワードが消えてしまう仕様は分かりにくかったのですが、今回改善いたしました。またも、「今後の予定」に書いてある機能の実装が出来てませんが、そろそろ手を付けたいですね〜〜。

上に戻る
[...] 先ほど、「Yuriko.Net」さんより、「Ktai Entry」0.8.7がリリースされた旨のトラック・バックを頂戴致しましたが、他の記事についても読み進めていったところ、タイガースマジック再点灯の記事を読んで大喜びした…ということもあるのですが、またまたすごいプラグインを開発されたようです。 [...]
はじめまして。
「Ktai Entry」0.8.7をインストールさせていただきました。
外部メールボックスにアクセスする方式をとり、時間を15分に設定しているのですが、手動で読み出さないといつまで経っても投稿が反映されません。
設定は設置方法の通りになっていることを確認しました。(投稿後にサイトにもアクセスしています。)
サーバーはさくらWordpressは2.5.1です。
手動で読み込んだ際に下記のメッセージが表示されます。
***************************
There is 1 message(s).
1 message from xxx@docomo.ne.jp, Operator: DoCoMo
Detect text/plain part encoding as “iso-2022-jp”
Text 9 bytes, Attachment 0 part(s)
Detect subject encoding as “iso-2022-jp”
Status: publish
Category: 日記
Author : staff2 (ID: 3)
Date : 2008-08-18 11:44:30
Date GMT: 2008-08-18 02:44:30
Title : テスト
+– Content ——————-
|テスト
+——————————
Inserted a post with ID: 72, status: publish
Mission complete, message “1″ deleted.
/* Retrieval completed. */
読み込み時間を変えたり、受付メールアドレスを変えたりもしましたが、うまくいきません。
手動で読み込めば、問題なく表示されるのですが…。
何かアドバイスをいただければ幸いです。よろしくお願いいたします。
手動で読み込み後、15分以上経過してからサイト閲覧したとき、HTML ソースに
<link rel="stylesheet" href="http://example.com/wp-content/plugins/ktai_entry/retrieve.php" type="text/css" />のような行は出ていますでしょうか (example.com の部分は適宜読み替え)。これがないと自動での外部メールボックス読み込みがされません。ただし、アクセス数が多いサイトですと、15分経過後、同時にアクセスしている他の閲覧者の方に表示されている可能性がありますが……。15分間隔で確認できないならば、試しに「5分」間隔にして確認してみてください。
表示が出ていてもうまく読み込めていない場合は、href で表示されている URL に直接ブラウザーでアクセスしてみてください。このとき /* Retrival interval Elapsed. */ と出れば、取り込みスクリプトが正常に動作しています。Not Found などエラーになる場合は、(Ktai Entry のバグで) 取り込みスクリプトの呼び出しが間違っています。この場合、インストール環境 (WordPress, PHP, Apache のバージョン、および wp-config や wp-content の移設を行なっているかどうか等) を詳しく教えてください。
早速の返信、ありがとうございます。
何度か試してみましたが、HTMLソースに上記のような行は出ませんでした。
retrieve.phpに直接アクセスしてみますと、エディタが立ち上がり、
/* There doesn’t seem to be any new mail. */
/* Retrieval completed. */
と、表示されました。
WordPressは 2.5.1
PHP 5.2.6
Apache のバージョンは 1.3.39 です。
移設は一切行っていません。
どうぞよろしくお願いいたします。
となると、retrieve.php へのパスは問題なさそうです。
ひょっとすると、最終取り込み時刻がずっと先の未来になってしまっているのかもしれません。この場合、「POP3 読み込み間隔」を「しない」にして保存し、再度「15分」に戻してみてください (これで最終取り込み時刻がリセットされます)。
それでもダメとすると、使用している テーマに
wp_head()が含まれていない可能性があります。テーマの header.php を確認して、WordPress デフォルトテーマの header.php と比較してみてください。もしなければ、デフォルトテーマの header.php を参考にwp_head()を足してみてください。ゆりこ様
header.phpにwp_head() が含まれていませんでした。
お蔭様で、無事に問題は解消しました。
どうもありがとうございました。
なんと、それが原因でしたか。これが入ってないとすると、他にも動かないプラグインが多数あったはずで、えらいことです。ひょっとすると、footer.php に
wp_footer()も入ってないかもしれませんので、こちらも追加しておいてください。ともあれ、解決してよかったです。テーマに
wp_head()が入ってないのは想定外で、びっくりしました。WPMU 1.5.1で使用して見ました。
PC登録ユーザが、携帯からも投稿可能にしたい場合はメールアドレスがPCとは別に
必要になるかと思いますが、設定方法をご教授頂ければ幸いです。
オフマークさん:
別途、携帯電話メールアドレスを持つユーザーを登録する必要があります。それから、投稿したいブログにユーザーを追加してください。
はじめまして。
ktai entry 0.87を初めてインストールしたのですが、何故か携帯メールアドレスのみ入力してのユーザー追加登録が出来ません。
パスワード、ログインネームを求められます。
(ユーザー名の欄ではなく、メールアドレスの欄に携帯アドレスを入力するんですよね?)
メールを取りにいくと
***************************
There is X message(s).
Error at #1: Sender address is not registered: アドレス@携帯ドメイン
/* Retrieval completed. */
とメッセージが出るので、ちゃんと動いているようです。
PHP(モジュール版)のバージョンは5.2.5。
WPのバージョンは最初本家版2.6.1でしたが、ktai entryに対応している日本語版2.6.1へ変更しました。
フォルダのパーミッションは755にしています。
アドバイス、いただけたらうれしいです。お願いします。
とをるさん:
ユーザー登録は、WordPress の新規ユーザーの追加を行なってください。この場合、ユーザー名、メールアドレス、パスワードは必須になっています (姓、名、ウェブサイトは空白でOK)。「メール投稿」で設定するのは POP3 の設定項目なので、ここに携帯メールアドレスを入れるのは間違いです。
このエラーが出るということは、この携帯メールアドレスを持つユーザーが登録できていません。よく確認してみてください。
いつもお世話になっております。
現在、PCメールからの投稿用にもKtai Entryを使わせていただいております。
(環境:coreserver.jp上で、Wordpress2.6.1、(PHP5.2.5 [CGI起動]、MySQL 5.1.22-rc ))
メール投稿元、メール投稿先、共にGmailを使っているのですが、添付ファイル(jpeg)名に日本語が入っている時のみ、添付画像がpostされません。(この際、メールの題名と本文は、正常にpostされます。)
また、様々なメールアカウント(非Gmail)からのメール投稿を何度か試しましたが、私のところでは上記事象の再現性があります。
ちなみに、携帯メール、PCメール共に、添付画像のファイル名に日本語を含まない場合には、問題なく画像もpostされますので、Plugin自体は正常に動作はしていると思います。
携帯メールにファイル名に日本語を含む画像を添付してテストしようともしましたが、私のdocomo端末では半角英数字しか名前に使えないので、テスト自体が出来ませんでした。全ての携帯端末で、そのようなファイル名の制約があるかは私は知らないのですが…
こちらのPluginは、PCメールから投稿時に、日本語を含むファイル名を持つ画像を添付することはサポート外なのでしょうか?
もしそうでしたら、出来れば、そのようなケースもサポートしていただけると大変助かります。
そもそも、携帯向けPluginに対して、PC対応、もしくは、日本語名を持つ添付画像対応の要望自体が的外れかもしれませんが、別のPCメール投稿用Pluginとの併用もバッティングしそうですし、なにより、Pluginの数を一つでも減らしたいと思っております。ですので、是非、ご一考いただければ幸いです。
何卒、どうぞ宜しく御願いいたします。
変ですね。バージョン 0.8.3 以後、日本語ファイル名を検出して、かつ、ファイル名に a-z, A-Z, 0-9, ドット (.), ハイフン(-), プラス (+), チルダ (~) 以外の文字があれば削除するようにしています。もし、ファイル名すべてが日本語の場合は、ランダムな英数字ファイル名を生成しています。
したがって、日本語ファイル名を送信しているメーラーの実装があやしく、ファイル名自体が抽出できていないと思われます。具体的に、どういうファイル名にされているでしょうか?
ログ機構を有効にすると、どういうファイル名を検出したか記録されますが、それはご確認されたでしょうか?
Gmail について当方で調査してみますが、それ以外で確認したメーラーは何か教えてください。少なくとも、Outlook Express は日本語ファイル名の実装が正しくありませんので、うまく動作しない可能性は大です (いちおう対応策は組み込んでいますが、きっちり確認していません)。
テストしたのは、Outlook ExpressからとGmail (Mac10.4+Opera) からです。
添付したのは”テスト.JPG”という画像です。
ログ機構はまだ試していませんが、後ほど試してご報告いたします。
取り急ぎのご報告でした。宜しくお願いいたします。
お世話になっております。
ログ機構をONにしたので、画像がpostされなかった分のメールのlogのみ取り出しました。
ちなみに、このテストの際に、投稿先メールアドレスに対して
以下の3パターンのメール投稿をして、一気に取り込みました。
1:Gmailから日本語を含まない画像ファイルを添付→画像も正常にpostされた
2:Gmailから 画像ファイル “テスト.JPG” を添付→画像はpostされなかった
3:docomoから日本語を含まない画像ファイルを添付→画像も正常にpostされた
※全て、題名/本文のpostは正常
以下のlogは、2のメールの部分だけを取り出したものです。
お手数をおかけいたしますが、引き続き、
ご検討の程、どうぞ宜しく御願いいたします。
わざわざログ調査ありがとうございます。(ログ部分は見た目を調整いたしました)
確かにファイル名の抽出が変ですね。こちらで調査してみた結果でも、Gmail は Content-Disposition: フィールドに ISO-2022-JP を MIME B エンコードしたファイル名を入れているようです (RFC 2047 違反)。こういう場合に対応するのは気がすすみませんが、なんとか読み出せるように対処を検討してみます。
本当は、Google に苦情を言って、RFC2231 に準拠したファイル名の記載をせよ、と言うのが正しいのですが……。
Outlook Express もおそらく同様の原因だと思います。もっと古い OE だと、Content-Type: の name パラメーターしかつけてないので、この場合は Ktai Entry が「後方互換性」ということで読めるんですが、中途半端に Content-Disposition: フィールドを使っている場合は対応ができていません。
ご検討どうもありがとうございました!
GoogleやMSの “ポカ” に対処していただくことになり、大変心苦しいのですが、彼らのせいで、素晴らしいプラグインが、”使えない” と誤認されるような事は、あってはならない事態かと…
※特にOutlook Expressはアプリなので全世界同時Upgradeなんてあり得ませんし…
今後とも、Yurikoさんのご活躍を期待しております!
どうぞ宜しくお願いします。
はじめまして。Ktai_Entry0.8.7をWordPress ME 2.1.1上で利用させていただいています。
au携帯から写真付きで投稿すると、記事の写真が表示される部分に「添付ファイルが見つかりません」と表示され、写真が表示されません。
ログを確認したところ、
となっています。
ログに記録されている通りのディレクトリにファイルは保存されているので、見つからないというのが解せないのですが、何か解決への手がかりはないでしょうか。
これと関連しているのかもしれませんが、WordPressのダッシュボードで画像ファイルをアップロードすると、ファイル名が”PICT0001.JPG”→”pict0001.JPG”のように拡張子以外の部分が小文字に変換されてしまいます。WordPress自体のファイル名の取り扱いに起因しているのかと疑ってみたりもしています。。
#18のEddieです。問題はあっさり解決しました。
WordPress 2.6.1(日本語版)にアップデートしたところ、au携帯から写真付きで投稿した記事がきちんと表示されました。
アップデートがうまくできるか不安で躊躇していたのですが、WordPress自体に起因しているような気がしたので、思い切って挑戦してみたら、良い結果になりました。
おかげ様で、安心してモブログできます。m(__)m
Eddieさん:
それはよかったですね。おそらく WordPress 2.1.x 系統での不具合なのだと思います。今のところ WordPress 2.0, 2.2, 2.3, 2.6 ではテストしていますが、2.1.x はテスト対象外としていました。実のところ、2.1.x は 2.2.x 以降にアップグレードすることが推奨されていますので、Eddie さんのように WordPress をアップグレードするのが正解なのかもしれません。
でも、一応 2.0〜2.6 をサポート対象としていますので、2.1.3 でも動作を確認してみます。情報ありがとうございました。
wppluginsj.sourceforge.jp/ktai_entry
ここを見て、外部メールボックスに随時アクセスの場合を設定しようとしていますが、うまくいかないので教えてください。LINUXは完璧に理解していないことが原因だと思います。よろしくお願いします。
1.
coreserverを使っていますので、.qmail-SECRETを保存しますが、この保存場所がわかりにくく、var/qmail/alias/.qmail-SECRETなのか、他の場所でしょうか。
/var/qmail/bin/maildirmake ~/(上記のqmail部)でDir作成に保存したらいいのでしょうか。
2.
| /usr/bin/php /(WordPress へのパス)/wp-content/plugins/ktai_entry/inject.php について、
WordPress へのパス=/virtual/(ID)/public_html/独自ドメイン名でよろしいですか?
Tats さん:
これは「投稿用メールアドレスにメール着信したら、投稿スクリプトを起動する」タイプの設定です。「外部メールボックスに随時アクセス」の場合は使いません。
もし「メール着信したら、投稿スクリプトを起動する」の設定をされているつもりならば、dot-qmail ファイルの作成位置は、「そのディレクトリーに dot-qmail ファイルを作ったらメールアドレスが増やせる」場所となります。coreserver のヘルプをよく調べてみてください。サーバーの運営方針や設定によって異なる話ですので、coreserver の管理者やサポートに質問すべき内容です。わたしは coreserver の利用者ではないので、よく分かりません。
これについても、coreserver のサポートに質問してみてください。
回答ありがとうございました。coreserverでは無理と判断して、投稿用メールアドレスにメール着信したら、投稿スクリプトを起動する、この機能にしました。(前回の投稿で表現が入れ違っていました。)
大手3携帯も問題なく見えて、かつメール投稿までできて大変満足しています。これまではライブドア ブログを使ってきましたが、WPにもほぼ同等以上の機能が期待出来そうなので切替を考えています。MTよりもメンテが楽でどなたでも安心して管理ができそうな気がしています。
[...] http://www.yuriko.net/arc/2008/08/14/ktaientry087/ [...]
[...] Entry 0.88 は、WordPress ME 2.1.1 で不具合があるという報告があったので、それの確認 (と必要ならば修正) [...]
yurikoさん、Willcomから投稿すると、以下のようなエラーをサーバが返してきます。auは問題なく投稿できるのですが、このメッセージはなにか不都合が有るのでしょうか?
Fatal error: Cannot redeclare class Ktai_Entry_EZweb in 〜〜〜〜/wp-content/plugins/ktai_entry/operators.php on line 731
よろしくお願いします。
おそらく operators.php を2回 include してしまっているんだと思いますが、それだと Ktai_Entry_Operator クラスも二重定義エラーになるはずなので、ちょっと変ですね。ちょっと調査してみます。
ハタヒカルさん:
サーバーにメールが2通以上溜まっている場合、こういう現象が起きる可能性があることが判明しました。次期バージョンで改善してみる予定ですが、絵文字を利用しない場合は、post.php の 270行目付近
$this->select_operator($from);を消してみれば回避できます。[...] 使用したモジュール Ktai Entryは、下記から戴きました。 http://www.yuriko.net/arc/2008/08/14/ktaientry087/ [...]
はじめまして。
「Ktai Entry」0.8.7をインストールさせていただきました。借りているサーバー内でメールの読み込みをしているのですが、
パソコンからメールを送った場合、手動で読み出さないといつまで経っても投稿が反映されず、携帯に至っては手動で読み込もうとしても、
すぐには読み込みができない状態です。
他の方の質問にありました「header.phpにwp_head()が入ってない」ということに関しては、自分が使っているテンプレートを見ましたところ
確認できました。
サーバーはWebARENAを使っていて、WPのバーションは2.5です。
よろしくお願いします。
サンボさん:
これは「入ってないことを確認した」のか「入っていることを確認した」のかどちらでしょうか。もし前者であれば
wp_head()を追加してください。後者であれば、他に使っているプラグインが悪さしている可能性がありますので、使用プラグインの一覧を教えてもらえないでしょうか。特にキャッシュプラグインは影響が大です。失礼しました。header.phpにwp_head()は入っています。
使用しているプラグインは
Dean’s FCKEditor For Wordpress
Disable wpautop
FirstRSS
Nippon 2
ShiftThis | Order Pages
Ktai Style
Ktai Entry
です。
ゆりこさん、追記して申し訳ないです。パソコンや携帯でメールを投稿した記事は改行されておらず、全て一文で表示されてしまいます。
その後、自動で改行してくれるbrbrbrプラグインなるものを見つけたのですが、今自分はFCKeditorプラグインを使っており、
brbrbrプラグインを使うと二重に改行されてしまうので、結局入れるのを断念しました。
brbrbrプラグインを使わずに、改行設定をするにはどうすればいいですか?
やはり普通にタグで打つしかないのでしょうか?
サンボさん:
これを使っているということは、WordPress のバージョンはけっこう古いやつですよね? WordPress のバージョンはいくつでしょうか。
Disable wpautop プラグインを外してください。はっきり言うとこのプラグインは諸刃の剣で、副作用が大きすぎるのです (Ktai Entry がうまく動かない原因ではないと思いますが)。おそらく wpautop を使うようにした方が、希望の動作になるような気がします。
ゆりこさん、はじめまして。紅玉です。
拙ブログまでコメントいただきありがとうございます。教えていただいたように、投稿受付アドレスを空欄にしたら、投稿できました。これからも、Ktai Entry、Ktai LocationとLightweight Google Mapsの3つ使わせていただきます。ありがとうございました。
ゆりこさん。
今自分は、株の銘柄配信サイトを運営しているのですが、予想が困難な時は、
ある決まった記事を上げようと思っているのですが、
どうも、ktaientryの設定上、同じ文章の記事を読み込めない設定になっているらしく、
手動で読みだす時も
「Error at #5: There is a post #283 with the same content.」
こういった文章がでてきてしまい、記事を読み込んではくれません。
前に書いた記事とまったく同じ記事を書きたい場合、どうすればいいでしょうか?
ご意見お願いします。
シエスタさん:
メールループや、同じメールを2回送ってしまうなどの事故を防ぐために、そういう仕様になっています。文章のどこかに日付やシリアル番号を入れるなど、わずかでも内容が変化するようにしてみてください。
ご回答ありがとうございます。
なるほど、やっぱり同じ記事の読み込みはできないんですね。
ゆりこさん、たびたび質問してしまいもうしわけないです。
では送ったメールの内容に自動的にシリアル番号などを挿入することはできるのでしょうか?
それはできません。これを可能にしてしまうと、メールループの防止ができなくなってしまうからです。
携帯端末側でそういう処理ができないか調べてみてください。手動でやるとしても、定型文の後に適当に数字を追加するなので、さほど手間ではないと思います。
[追記] お手軽な方法としては、何か画像を添付する、という手があります。実は、同じ画像を添付したとしても、Ktai Entry 側がファイル名に追番を付与するため、実質的に異なる内容の記事となります (上記でいう「自動的にシリアル番号を挿入する処理」に似ています)。逆に言うと、画像つき投稿の場合はメールループの検出が甘くなっています