Ktai Entry マニュアル
[ はじめに | よくある質問と答え | エラーメッセージ ]
はじめに
プラグイン配布サイト: http://wppluginsj.sourceforge.jp/ktai_entry/
※以前からのユーザーさんは、少なくとも「↓以前のバージョンからの更新方法」と「↓改版履歴」には目を通しておいてください。
概要
Ktai Entry は、携帯電話・PHS 等から WordPress に投稿できるメール投稿用プラグインです。いわゆる「モブログ」ができます。
- 投稿の反映にはウェブブラウザーが不要なので、メール送信ができればキャリアおよび機種を問いません。
- カテゴリー指定 (複数カテゴリーに対応) およびキーワードタグの付与が可能です。
- 投稿スラッグ、投稿ステータスの指定が可能です。
- 投稿日時を指定できます。日時を直接指定する方法と、添付する画像の撮影日時を投稿日時にする指定方法の2種類があります。
- 画像を添付したメールに対応しています。画像を回転したり、大きい画像をサムネール化することが可能です。
- 画像は WordPress のファイルアップロード/メディアライブラリに格納されます。
- 絵文字投稿に対応しています。au, ウィルコム、ドコモ、ソフトバンク、イー・モバイルの絵文字認識し、Ktai Style の絵文字フォーマット (<img localsrc="NNN" />) で保存されます。Ktai Style を併用すれば絵文字が表示されます。なお、PC の場合は、iモード絵文字とそれに類似した絵文字のみ画像表示され、それ以外は代替文字での表示になります。
- デコメ絵文字も認識します。デコメ絵文字は画像として投稿のメディアライブラリに格納されます。携帯で閲覧するときも画像として扱われます。
環境に応じて、以下のいずれかの投稿スタイルが選べます。
- 外部メールボックスに随時アクセス:
投稿専用メールボックスに定期的にアクセスして新着メールがあれば取り込み、投稿処理を行う (wp-shot と同じ仕組み)。
- メール着信時に投稿スクリプトを起動:
メールサーバー上に投稿専用アドレスを作り、そこにメールが到着したら投稿スクリプトを起動させる (wp-mta と同じ仕組み)。
対応環境
- WordPress 2.6 以降。2.9 にも対応しています。WordPress 2.0〜2.5.1 については、Ktai Entry 0.8.11 をご利用ください。
- PHP 5.1 以降。***** PHP4 では動きません!! *****
ただし、動作確認は PHP5.2.x で行なっていますので、それ以前のバージョンによって動かないかもしれません。PHP 5.1.x をご利用の場合は、自己責任にてご利用をお願いします。
- 絵文字投稿は、au、ウィルコム、ドコモ、ソフトバンク、イー・モバイルそれぞれの通常音声端末に対応しています (スマートフォンは除く)。au、ウィルコムは、どのメールサーバー宛でも絵文字が使えますが、ドコモ・ソフトバンクは Gmail, au one メール、Yahoo! メール宛のみ、イー・モバイルは音声端末から Gmail, au one メール宛のみ絵文字が利用可能です。なお、それ以外のメールサーバーを使っている場合は、Gmail から投稿受付アドレスに転送をかければ、携帯電話 から Gmail に送信することで、絵文字メールを送信できます。
- (メール着信時に投稿スクリプトを起動する方式を使う場合の条件)
- qmail または Postfix を利用したメールサーバー。ただし Postfix では動作確認を行なってないので動かないかもしれません。
- .qmail/.forward/.procmailrc などを自分で好きに作成して編集できる必要があります。
- .qmail/.forward/.procmailrc から WordPress のプラグインディレクトリーにある投稿スクリプト (ktai_entry/inject.php) が呼び出せることが必須です。メールサーバーとウェブサーバーが同一であれば大丈夫でしょう。違う場合は相当困難です。
設置方法
プラグインをインストールするだけでは、うまく動作しません。以下の設置方法を良く読んで作業してください。
- 他のメール投稿プラグインを使っている場合、それらを停止して、プラグインファイルを削除してください。wp-shot を使っていた場合、wp-shot/style.css の内容も、お使いのテーマの style.css に追記しておいてください (でないと、過去のメール投稿写真のスタイルが崩れます)。
- プラグインをダウンロードして展開し、ktai-entry フォルダーごとサーバーのプラグインディレクトリー (wp-content/plugins/) に転送します。
- 投稿スタイルに応じて、以下の通りメールサーバーの設定をします。
- (外部メールボックスに随時アクセスの場合)
- 投稿専用メールアドレスを設定します。
- 携帯用メールアドレスを準備・取得してください。できれば、他で使っているアドレスと兼用にするのは避けて、専用のメールアドレスにしてください。無料メールアドレスで構いません。
- 各種設定→投稿設定→「メールでの投稿」に、メールサーバー・ログイン名・パスワードを記入してください。
※ wp-shot で必要だった、wp-mail.php のリネームは不要です。プラグインを有効にすると wp-mail.php にアクセスしても 403 Forbidden になります。
- (メール着信時に投稿スクリプトを起動させる場合)
- 投稿先となる秘密のメールアドレスを作ります。
- メールアドレスとなる秘密の文字列を考えます。シェルで
php -r 'echo md5(uniqid(rand(), true)) . "\n";'
などとするといいいでしょう。
- メールサーバーにシェルログインし、.qmail-SECRET (qmail の場合)、もしくは .forward+SECRET (postfix の場合) というファイルを作ります (SECRET はさっき作った秘密の文字列)。これは qmail や postfix でサポートされている拡張メールアドレスの機能で、USER-secret@example.com または USER+secret@example.com というメールアドレスが有効になります。qmail の場合、秘密の文字列は英小文字と数字だけにしてください (大文字やドットは無効)。
- ファイルの中身は以下のようにします。(PHP および wp-content/ へのパスはサーバーに応じて調整してください)
| /usr/bin/php /(WordPress へのパス)/wp-content/plugins/ktai_entry/inject.php
- WordPress MU の場合、ブログごとに .qmail-SECRET ないし .forwarc+SECRET を作ってください。そして、inject.php に
-blog
オプションで blog_id
を指定してやる必要があります。
| /usr/bin/php /(WordPress へのパス)/wp-content/plugins/ktai_entry/inject.php -blog 2
また、wp-config.php にて define( 'SUNRISE', 'on' );
のコメントを外し、ktai_entry/sunrise.php を wp-content/sunrise.php にコピーする必要があります。もし、すでに sunrise.php が存在する場合は、ktai_entry/sunrise.php の内容を既存の sunrise.php の後に追加してください。
- ※要は、秘密のメールアドレスにメールが着信したら inject.php が起動されるようにします。自宅サーバーをお使いの方ならば、他の設定方法にもチャレンジしてみてください。
- 自分の WordPress サイトに管理者ログインして、新規にユーザーを作り、メールアドレスとして、携帯電話のメールアドレスを入力します。登録ユーザーのメールアドレスのみ投稿できるようチェックしているためです。メール送信してすぐ公開したい場合は、権限を「作成者 (author)」以上としてください。「投稿者 (contributor)」の場合、「レビュー待ち (pending)」または「下書き (draft)」になり、編集者 (editor) 以上の権限を持つユーザーによる公開処理が必要となります。「購読者 (subscriber)」の場合は投稿できません。
- 使用しているテーマのスタイルシート (style.css) を確認し、alignleft, aligncenter, alignright, clear クラスに対応していなければ、以下の記述を追加してください。
img.alignright {
padding: 4px;
margin: 0 0 2px 7px;
display: inline;
}
img.alignleft {
padding: 4px;
margin: 0 7px 2px 0;
display: inline;
}
.aligncenter, div.aligncenter {
display: block;
margin-left: auto;
margin-right: auto;
}
.alignright {
float: right;
}
.alignleft {
float: left
}
.clear {
clear:both;
}
また、画像にプリント写真のような白枠を付けたいならば、以下のスタイルを style.css に追加してください。
/* ----- Style for Ktai Entry ----- */
.photo img {
background:white;
margin:0 4px 2px 4px;
padding:3px;
border:1px solid #999;
}
/* ---------- */
- Ktai Entry プラグインを有効にします。
- 管理パネル「各種設定」→「メールで投稿」のオプションを変更します。基本的にはそのままで問題ありません。
- サーバーオプション: メールサーバーが APOP 対応のときは「APOP使用」チェックボックスに印をします。POP over SSL を使うとき (Gmail, Yahoo! メール等) はチェックを外してください。
- POP3 読み込み間隔: 外部メールボックスを確認する間隔を設定します。サーバー負荷がかかるため、最短でも5分程度としてください。「しない」にすると、自動的に確認しないため、retrieve.php を手動でアクセスしない限り投稿処理は行なわれません。メール着信すると投稿スクリプトを起動させる方式の場合は「しない」にしてください。
- 投稿受付メールアドレス(オプション): 3. で設定した投稿受付メールアドレスを記載します。宛先 (To, Cc) にこのアドレスが含まれていない場合、投稿は受け付けられません。このフィールドが空の場合はアドレスチェックを行ないません。
- 投稿に挿入する画像の配置: 投稿に画像があるとき、画像の回り込み配置を指定します。「なし」は回り込みをしません (==画像の下に本文が来ます)。「左」と「右」は本文に対して左/右に画像を配置します。「中央」は画像をページの中央に配置します。なお、使用しているテーマが WordPress 標準の alignleft, alignright, aligncenter の各 CSS クラスに対応している必要があります。未対応の場合は、回り込みの指定が効きません。
- 投稿に挿入する画像サイズ: 投稿に挿入する画像サイズを「サムネイル」「中サイズ」「大サイズ」「フルサイズ」から選べます。もし、「中サイズ」「大サイズ」を設定したものの、投稿した写真が小さくて当該サイズに満たない場合は「サムネイル」の大きさが使われます。なお、サムネイル、中サイズのピクセル数は管理パネル「設定」→「メディア」(または「その他の設定」) で変更してください。
- 投稿テンプレート (添付画像があるとき): 添付画像があるときの投稿テンプレートです。写真を本文の下に置きたい場合などは編集してください。投稿がテキストだけのとき、テンプレートは使用されません。
※wp-shot で必要だった cron ジョブの設定、RFC1939 のチェックはなくなりました。
ます。
以上で完了です。本プラグインの更新を知らせるために、別途「JSeries Notifier」をインストールされることをおすすめします。
wp-content もしくは wp-content/plugins ディレクトリーを標準の位置以外に移設する場合
WordPress 2.6 以降で可能になった、wp-content ディレクトリーや wp-content/plugins ディレクトリーを標準の位置以外に移設する場合は、以下の手順で行なってください。
- プラグインのインストール時、ktai_entry ディレクトリーにウェブサーバーから書き込み可能な権限を与えておきます。つまり、パーミッションを 757 や 777 にしておきます。
- プラグインを有効化します。このとき、ktai_style ディレクトリー直下に wp-load-conf.php ファイルが自動的に作られれば、設定 OK です。
- 作られない場合は、手動で wp-load.php を編集してください。
20行目にある $wp_root
変数を変更して、WordPress インストールディレクトリーへの絶対パスを示すようにしてください。
- 例: WordPress ディレクトリーが /home/foo/public_html/wp-core/ で、wp-content ディレクトリーが /home/foo/public_html/wp-content/ の場合
$wp_root = dirname(dirname(dirname(dirname(__FILE__)))) . '/wp-core/';
とします。
Gmail の場合の設定
無料メールアドレスとして Gmail を使う場合は、次のように設定してください。
- まず、Gmail アカウントを作成します。すでに持っている場合も、できれば別に作った方がよいです。
- Gmail 設定→メール転送と POP/IMAP 設定→POP ダウンロード、で「今後受信するメールで POP を有効にする」を選択します。
- 何かランダムな文字列を作ります。「投稿設定」→「メールでの投稿」で表示されるランダムな文字列から記号を抜いて大文字を小文字に変える (例: aBM9dDu*^w$R → abm9dduwr) とか、シェルで
php -r 'echo md5(uniqid(rand(), true)) . "\n";'
などとします。この文字列を Gmail アドレスのローカルパート (@ の前の部分) に + で連結して、投稿受付アドレスを作ります。
Gmail アドレスが example@gmail.com で、ランダムな文字列が abm9dduwr とすると「example+abm9dduwr@gmail.com」が投稿受付アドレスとなります。Gmail から携帯電話にこのメールアドレスを本文に書いて送信しておくと便利です。
- Ktai Entry オプションの「投稿受付アドレス」に、このアドレスを記入します。これで、ランダム文字列を付けたアドレスのみが受付され、通常の Gmail アドレス (exmaple@gmail.com など) 宛のメールは拒否されます。
- 投稿設定→メールでの投稿、を以下のように設定します。Gmail は SSL 必須です。
メールサーバー | ssl://pop.gmail.com |
ポート | 995 |
ログイン名 | (Gmail アドレス) 例: example@gmail.com |
パスワード | (パスワード) |
Yahoo! メールの場合の設定
無料メールアドレスとして Yahoo! メールを使う場合は、次のように設定してください。
- まず、Yahoo! メールアドレスを取得します。すでに持っている場合も、できれば別に作った方がよいです。スパム防止のため、できるだけランダムなアドレスにしてください。
- メールオプション→POP アクセスとメール転送→(パスワード入力)、で「ブラウザアクセスと POP アクセス」を選択します。Yahoo! デリバーに登録していない場合は、Yahoo! デリバーにも登録してください。このとき、メール送信先はこの Yahoo! メールアドレス *以外* としてください。さもないと、配信された広告メールがウェブログに投稿される可能性があります。
- Ktai Entry オプションの「投稿受付アドレス」に、Yahoo! メールアドレスを記入します。
- 投稿設定→メールでの投稿、を以下のように設定します。パスワード保護のため SSL を推奨します。
メールサーバー | ssl://pop.mail.yahoo.co.jp |
ポート | 995 |
ログイン名 | (アカウント名。メールアドレスの@より前の部分) 例: example |
パスワード | (Yahoo! Japan ID のパスワード) |
以前のバージョンからの更新方法
- まず、プラグインを無効にしてください。
- バージョン 0.8.11 以前を使っている場合、以下の作業が必要です。
- Ktai Entry 本体のディレクトリー名が ktai_entry から ktai-entry に変更されています。プラグインをディレクトリーごと削除するか、FTP/SFTP ツールもしくはシェルでディレクトリー名を変更してください。
- inject.php, retrieve.php, post.php が inc サブディレクトリーに移動しました。このため、これらのファイルを参照している .qmail スクリプト/cron 設定/.htaccess 設定などで、ファイルへのパスを修正してください (ktai_entry/inject.php → ktai-entry/inc/inject.php 等)
- バージョン 0.8.10 以前を使っている場合、以下の作業が必要です。
- バージョン 0.7.1 以前を使っていた場合、ktai_entry ディレクトリー直下にある po ファイル、mo ファイルは削除してください。
- ktai_entry ディレクトリー直下のファイルを、新しいファイルで上書きしてください。
- プラグインを有効にし、「投稿設定」でメールサーバーのパスワードが正しいか確認してください。(プラグインを無効にしたときパスワードを初期化し、有効にしたとき復帰させていますが、その復帰処理が正常に行なわれているかの確認をお願いします)
プラグインの撤去
プラグインの使用を中止して、撤去するには以下の手順で行なってください。
- 管理画面の「携帯表示」で、一番下にある「オプション値をデフォルトに戻す」をクリックします。
- プラグインを無効にします。
- FTP ツール等で、wp-content/plugins から ktai-entry ディレクトリーを丸ごと削除します。
- 念のため、「投稿設定」→「メールでの投稿」で、メールサーバーの設定がデフォルト値 (mail.example.com 等) に戻っていることを確認してください。戻っていなければ、すべて空白にしておいてください。
使用方法
携帯電話から、投稿専用メールアドレス (上記で準備したメールアドレス) に投稿するだけです。送信したメールを元に新規投稿を作成します。
- タイトル
- メールの題名 (Subject)、または本文中の <title>〜</title> で囲まれた内容。(後者が優先です)
- 投稿作成者
- 差出人 (From) アドレスに対応する登録ユーザー
- 公開ステータス
- 投稿作成者が「作成者 (author)」以上の権限を持つ場合は「公開」です。「投稿者 (contributor)」の場合は、「レビュー待ち (pending)」となります。「講読者 (subscriber)」の場合は、投稿できずエラーとなります。DRAFT, PENDING コマンド (後述) で変更できます。
- 投稿日時
- メール投稿日時 (Date フィールドの日時)。DATE コマンド (後述) で変更できます。
重複投稿を防ぐため、Date フィールドの日時ないし、DATE コマンドで指定した日時が、すでに存在する投稿の日時と一致する場合はメールが読み込まれません。
- 投稿スラッグ
- 時分秒を繋げた6ケタの数字 (同じ数字が存在するときは -2, -3,... と追番がつきます)。SLUG: コマンド (後述) で変更できます。
- カテゴリー
- デフォルトは、管理パネル→各種設定→投稿設定の「メール投稿時のデフォルトカテゴリー」。CAT: コマンド (後述) で変更できます。
- 本文
- 本文が投稿本文になります。ただし、カテゴリー指定指示・キーワードタグ指示、画像回転指示などのコマンドおよび、「
--
」で始まる署名部分は削除されます。
写真つきメールの場合は、画像を切り出してファイルアップロード処理を行い、その画像を呼び出す a 要素および img 要素が埋め込まれます。
本文が、すでに存在する投稿と同じ場合は重複とみなして投稿処理を中断してエラーとします。また、データベースに下書きとして保存した本文や添付写真は削除されます。ただし、添付画像がある場合は、同じ画像があっても追番が付与されてファイル名が異なってしまうため、同一判定に引っかからず重複投稿されてしまいます。
公開ステータス設定
作成者 (author) 以上の権限を持つユーザーが投稿する場合、通常はすぐ公開されますが、以下のコマンドを入れると下書き (draft) またはレビュー待ち (pending) の状態を設定できます。投稿者 (contributor) 以下のユーザーは、これらのコマンドを使っても無効です。コマンド文字列は投稿本文からは削除され、見えなくなります (寄稿者以下のユーザーが使っても削除されます)。
写真だけアップロードする/とりあえず投稿しておいて、あとで Ktai Style でじっくり編集する、などに使えます。
- 下書きにする
- メール本文のどこかに
DRAFT
と書きます。1行の中に「DRAFT」以外の文字列を書いてはいけません。DRAFT は行頭にある必要があります。
- レビュー待ちにする
- メール本文のどこかに
PENDING
と書きます。1行の中に「PENDING」以外の文字列を書いてはいけません。PENDING は行頭にある必要があります。
- 未公開にする
- メール本文のどこかに
PRIVATE
と書きます。1行の中に「PRIVATE」以外の文字列を書いてはいけません。PRIVATE は行頭にある必要があります。
投稿日時設定
デフォルトで投稿日時は、メールの Date フィールドの値 (投稿した日時) になりますが、過去の日付や未来の日付、または添付写真の撮影日時を指定することができます。未来の日付にすると予約投稿となります。メール本文のどこかに
DATE: (投稿日時)
または
DATE: (写真番号)
と書きます。「DATE:」は行頭にある必要があります。コマンド文字列は投稿本文からは削除され、見えなくなります。日付フォーマットは、PHP の strtotime()
関数が認識するものであれば OK です。たとえば、以下のような記述が可能です。「+1 hour」は 1 時間後を意味する指定で、一番最後の「DATE:1」は写真番号の指定です。
DATE: 2008/5/25 19:4:32
DATE: 2008-05-25 19:04
DATE: 2008-05-25T19:04:32+0900
DATE: Sun, 25 May 2007 19:04:32 +0900
DATE: +1 hour
DATE: 1
写真番号は、添付した順番に 1,2,3,... となります。この機能を使う場合は、PHP の EXIF 拡張が使える必要があります。また、回転した画像では EXIF 情報が抜けるため、画像回転コマンドと併用すると、日付指定が無効になってしまいます。携帯電話の機種によっては、EXIF 情報を記録しないものがある (シャープ製ソフトバンク端末等) ため、そもそも日付指定が効きません。
投稿スラッグ設定
デフォルトで投稿スラッグは、投稿時刻を元にした6ケタの数字 (時分秒を繋いだもの) になりますが、任意の英数字を指定できます。メール本文のどこかに
SLUG: (投稿スラッグ)
と書きます。「SLUG:」は行頭にある必要があります。英数字、ハイフン(-)、アンダースコア(_)が使えます。使えない文字を含めてしまっても、自動的に除去されます。コマンド文字列は投稿本文からは削除され、見えなくなります。
カテゴリー指定
カテゴリー指定の方法
臨時的にカテゴリーを「メール投稿時のデフォルトカテゴリー」以外に変更したい場合は、メール本文のどこかに、以下のように書きます。
CAT:カテゴリーID
または
CAT:カテゴリー名
または
CAT:カテゴリースラッグ
- 「CAT:」の文字列は行頭に書くことが必要です。
- コマンド文字列は投稿本文からは削除され、見えなくなります。
- 複数のカテゴリーをコンマで区切って指定することも可能です。コロンやコンマの前後にスペースが入ってもかまいません。
- カテゴリー系コマンド (後述のものも含む) を複数行記載した場合は一番上のもののみ認識され、本文から削除されます。2行目以下は認識されず、コマンド自体も残ります。
- 指定した文字列の探索順序は、ID → スラッグ → 名前です。違うカテゴリー ID で、スラッグと名前が一致している場合、その文字列がスラッグであるカテゴリーを検出します。
- 指定した文字列が数字であれば強制的に ID とみなします (カテゴリースラッグや名前が数字のものは検出できません)。
例えば以下の書き方が可能です。
CAT: 3
CAT: 旅行の計画, 2006年07月 3-3-SUNフリーきっぷ
CAT: plans, 首都圏日帰り, 46
カテゴリー追加の方法
投稿時のカテゴリーを、「メール投稿時のデフォルトカテゴリー」の他に別途追加したい場合は、メール本文のどこかに、
CAT+カテゴリーID
または
CAT+カテゴリー名
または
CAT+カテゴリースラッグ
と書きます。「CAT+」の文字列は行頭に書くことが必要です。コンマで区切って複数のカテゴリーを追加することも可能です。
カテゴリー変更の方法
投稿時に「メール投稿時のデフォルトカテゴリー」を変更してしまうことが可能です。
CAT>カテゴリーID
または
CAT>カテゴリー名
または
CAT>カテゴリースラッグ
と書きます。「CAT>」の文字列は行頭に書くことが必要です。コンマで区切って複数のカテゴリーを記述できますが、変更対象となるのは最後の行にある最初のカテゴリーです。投稿には記載したすべてのカテゴリーが反映されます。
CAT+>カテゴリーID
または
CAT+>カテゴリー名
または
CAT+>カテゴリースラッグ
と書いた場合は、デフォルトカテゴリーの変更を行いますが、既存の「メール投稿時のデフォルトカテゴリー」も投稿に反映されます。つまり、既存のデフォルトカテゴリーと今回指定したカテゴリーの両方が指定されます。
キーワードタグも付与できます。メール本文のどこかに、以下のように書きます。
TAG:タグスラッグ名
- 「TAG:」の文字列は行頭に書くことが必要です。
- コマンド文字列は投稿本文からは削除され、見えなくなります。
- 複数のタグをコンマで区切ったり、複数行書くことも可能です。
- コロンやコンマの前後にスペースが入ってもかまいません。
- コマンド文字列は投稿本文からは削除され、見えなくなります。
- タグスラッグは URI デコードされた状態で構いません。(%nn%nn という形でなくてよい)
- タグ名とタグスラッグ名が異なる場合、タグスラッグ名でないと既存タグとして認識されません。タグ名を書いてしまうと、新規にそのタグが作成されてしまいます。例えば「変なモノ」タグに「funny」というスラッグを割り当てている場合、「TAG: funny」と書く必要があります。「TAG: 変なモノ」とすると、新たに「変なモノ」タグが作成されてしまいます。これは、WordPress の仕様のため、PC での投稿画面でも同じ制約があります。
画像回転
携帯端末で撮影した写真を90度左右に回転させることが可能です。あらかじめ携帯端末で回転させてから投稿することを推奨しますが、時間がないときや、回転させると画像の左右が欠けてしまう端末では、この機能が便利です。コマンド文字列は投稿本文からは削除され、見えなくなります。
- (画像が1枚だけのとき)
- メール本文のどこかに、
ROT:L
または
ROT:R
と書きます。前者は左回転。後者は右回転です。「ROT:」の文字列は行頭に書くことが必要です。画像が大きいときは、回転させてからサムネールを作成します。
- (画像が2枚以上のとき)
ROT:L
または
ROT:R
とすると、すべての画像を同じ方向に回転します。
ROT:NLR
などとすると、1枚目は回転せず(N)/2枚目を左回転(L)/3枚目を右回転(R)します。画像の枚数だけ、N,L,R の文字列を書きます。文字数が画像の枚数より足りない場合は、足りない分を "N" があるとみなします。
ROT:2L4L
などとすると、2枚目を左回転/4枚目を左回転します。何枚目かを示す数字と回転方向を示す L,R の文字列を繰り返します。空白やコンマで区切ってはいけません。NLR 式の指定と 2L4L 式の指定は混在できません。混在させてしまったときは回転指示が無効になってしまいます。
制限事項
- シンボリックリンクで ktai-entry ディレクトリー、wp-content ディレクトリー等を移動している場合、正常に動作しないことがあります。
- 投稿受付メールアドレスは他人に知られないようにしてください。知られた場合、悪意ある他人にメール投稿されてしまいます。一応、From アドレスが WordPress に登録されたユーザーのものかどうかチェックを行なっていますが、悪意を持った人であれば簡単に From アドレスを詐称できるため、万全ではありません。
- 投稿を受け付けるメールアドレスは、原則としてウェブログの登録ユーザーのメールアドレスのみです。携帯電話から投稿する場合は、別途ユーザーを作って、携帯電話メールアドレスを登録してください。ただし、ke_validate_address フック (後述) を利用して、許可メールアドレスを別途定義することも可能です。
- モブログで作成した投稿にコメントがついた場合、携帯電話に通知メールが送られます (投稿者のメールアドレスが携帯電話アドレスのため)。携帯電話でアドレス指定受信/ドメイン指定受信などをしている場合は、ウェブログのドメインを受信許可させるようにしてください。携帯電話に通知が行くのが嫌な場合は、上記の通り、ke_validate_address フックを使って、携帯電話アドレスは別途定義として、投稿者は普段のユーザーになるように設定してください。
- 各種コマンドはそれぞれ併用することが可能ですが、同じコマンドは複数使えません。2つ目以降は無視されます (コマンド文字列も残ります)。
- 携帯電話の機種によっては、カメラ画像に EXIF を記録しない場合があります (シャープ製ソフトバンク端末など)。この場合、DATE コマンドで「添付画像を指定」しても投稿日時指定が効かず、Date: フィールドの日付になります。
- 画像回転させたとき、EXIF 情報は消えてしまいます。DATE コマンドで画像ファイルの日付を投稿日時に指定させる場合は、回転させた画像を指定しないでください (指定が効きません)。
また、GPS 情報を埋め込ませて Ktai Location プラグイン等で読ませる場合も、回転させた画像では情報が読めません。画像回転させつつ位置情報を保持させたい場合、写真の添付時には本文にも位置情報 URL を添付させるようにしてください。
- 絵文字を表示させるには、Ktai Style プラグインを併用する必要があります。Ktai Style をインストールしていないと、絵文字部分は単なる img 要素となり、何も表示されません。
- 絵文字が使えるのは、au、ウィルコム、ドコモ、ソフトバンク 3G、イー・モバイル音声端末です (スマートフォン除く)。ただし、イー・モバイルの場合、イー・モバイル独自絵文字 (No.253 人差し指以降) は、イー・モバイルのゲートウェイで絵文字が [人差し指] などのテキストに変換されてしまい、絵文字になりません。
- iモード絵文字は Gmail, au one メール、Yahoo! メール宛のみ利用可能です。それ以外のメールサーバーおよび、mova 端末から iショットメールを送信した場合は、ドコモのサーバーで絵文字が 〓 (ゲタ) に変換されるため、Ktai Entry で利用できません。
- ソフトバンク絵文字は 3G 端末から Gmail, au one メール、Yahoo! メール宛のみ利用可能です。それ以外のメールサーバーから送信した場合は、ソフトバンクのサーバーで絵文字が〓に変換されるため、Ktai Entry で利用できません。PDC 端末はEメールで絵文字の入力ができないので使用できません。
- イー・モバイル絵文字は音声端末から Gmail, au one メール宛のみ利用可能です。それ以外のメールサーバーから送信した場合は、ソフトバンクのサーバーで絵文字が〓やテキストに変換されるため、Ktai Entry で利用できません。スマートフォンはEメールで絵文字の入力ができないので使用できません。
- 絵文字が使えるのは本文だけで、タイトル・カテゴリー名・タグ名には使えません。これはさまざまな技術的理由があって、解決は少々困難です。
- 絵文字投稿した本文をビジュアルエディタで編集・保存すると、絵文字が失なわれてしまいます。これは、ビジュアルエディタが <img localsrc="NNNN" /> フォーマットに対応していないためです。あとで編集するときは、コードエディタ (HTML エディタ) にしてから投稿を選んでください。ビジュアルエディタで投稿を開いてしまった場合、保存せずに前の画面に戻ってください。
- ファイル名に使える文字は 0-9, a-z, A-Z, ハイフン(-)、アンダースコア(_)、ドット(.)、チルダ(~)、プラス(+) だけです。それ以外の文字は削除されます。日本語ファイル名など使える文字が1文字もないときは、ランダムな英数字をファイル名とします。
- 本文がすでに存在する投稿と同じときは重複とみなしてエラーとしますが、次の場合は重複判定をすり抜けてしまいます。(1) 添付画像がある場合。同じ画像があっても追番が付与されてファイル名が異なってしまうため、同一判定に引っかかりません。(2) Ktai Location で認識される地図 URL を含む場合。すでに存在する投稿は Ktai Location で地図 URL を無効にする書換えがされていますが、新規投稿は書換えが行われる前であり同じ内容と認識されないため、同一と判定されません。
- (外部メールボックスに随時アクセスする方式に関する注意)
- 実際に、外部メールボックスを確認するタイミングは、「誰かがサイトを閲覧したとき」です。このため、誰もサイトにアクセスしない場合は、たとえ確認間隔を「5分」に設定しても、1時間以上メールが読み込まれないことがあり得ます。
- 手動でメールボックス確認させる URL <http://(WordPressのアドレス)/wp-content/plugins/ktai-entry/inc/retrieve.php> をウェブ経由でアクセスした場合、設定した読み出し時間を過ぎていない限り、メール確認処理は行なわれません。しかし、_wpnonce 引数 (12時間ごとに変化) をつけたり、コマンドラインから retrieve.php を起動させた場合 (_wpnonce は不要) は即時実行します。
- (メール着信時に投稿スクリプトを起動する方式に関する注意)
- レンタルサーバーではまず動作しないと考えてください。メールサーバーとウェブサーバーが別マシンだったり、シェルアカウントがなかったり、.qmail/.forward/.procmail の編集ができなかったり、任意のメールアドレスを追加できなかったり、関門が多いためです。自宅サーバーの場合は、うまく設置できることが多いでしょう。がんばってください。
- 設置直後は、メールのエラーによるメールループを発生させやすいので、テスト投稿のあとはメールログをよく確認してください。特に、投稿がうまく反映されないときは、再度試す前にログをチェックしてください。qmail の場合、PHP のエラーが発生したとき fatal エラーではなく deferral になるため、延々と投稿処理が繰り返されることがあるので、特に注意してください。
- WP-Cache, WP Super Cache 等のキャッシュプラグインを利用している場合、ウェブサーバーのログに、キャッシュプラグインがセマフォ (ロックファイル) の生成に失敗するというエラーが記録されることがあります。キャッシュファイルのパーミッションラーが原因のため、キャッシュプラグインが利用する一時ファイルのディレクトリー (cache ディレクトリー等) のパーミッションを 757 等にしてみてください。
高度な設定・機能
post.php を編集することにより、以下の設定が変更可能です。
- 下書き指定コマンド (KE_DRAFT)
- レビュー待ち指定コマンド (KE_PENDING)
- 未公開指定コマンド (KE_PRIVATE)
- 投稿日時設定コマンド (KE_SET_POSTDATE)
- 投稿スラッグ設定コマンド (KE_SET_POSTSLUG)
- カテゴリー設定コマンド (KE_SET_CATEGORY)
- カテゴリー追加コマンド (KE_ADD_CATEGORY)
- カテゴリー変更コマンド (KE_CHANGE_CATEGORY)
- カテゴリー追加・変更コマンド (KE_ADD_CHANGE_CATEGORY)
- キーワードタグ指示コマンド (KE_SET_TAGS)
- 画像回転指示コマンド (KE_ROTATE_IMAGE)
- これ以後を署名として削除する文字列 (KE_DELIM_STR)
- メール投稿時に使える XHTML タグ ($allowedposttags, $allowedtags)
独自フィルターフック
Ktai Entry は以下の独自フィルターフックを備えています。差出人アドレス確認の結果、画像リンクの XHTML 記述や、投稿本文の記述を自分好みに変更することができます。
my-hacks.php や自作プラグインファイルにフィルター関数を記述し、同時に add_filter('ktai_image_link', '(フィルター関数名)', 10, 3);
などと書けば、フィルターフックが有効になります。
- ktai_retrieve_interval
- 引数:
$interval
外部メールボックスを読み出す間隔 (分単位) をフィルターします。0 または -1 にすると読み出ししません。
- ktai_validate_address
- 引数:
$user_id, $address
差出人メールアドレスから、ウェブログ登録ユーザー ID を割り出した結果をフィルターします。登録ユーザー以外に別途許可したいアドレスがある場合や、投稿作成者は管理者に固定したい場合などに使います。
- ktai_post_category
- 引数:
$categories
投稿するカテゴリーをフィルターします。$categories
はカテゴリー設定/追加/変更コマンドなどを適用した結果で、カテゴリー ID が入った配列です。少なくとも1つの要素があります。
- ktai_post_keywords
- 引数:
$keywords
投稿に付与するキーワードタグをフィルターします。$keywords
はコンマ区切りのタグ一覧文字列です。
- ktai_image_rotate
- 引数:
$rotations, $rot_direction, $images
画像の回転コマンドをフィルターします。$rotations
は回転指示を示す配列です。画像枚数だけの要素があり、N, L, R のいずれかの文字が入っています。$rot_direction
は回転コマンド文字列そのものです。$images
は画像の配列 (2次元配列) です。n は0で始まるインデックス番号で、$images[n]['name'] がファイル名、$images[n]['p_type'] が MIME プライマリータイプ (image)、$images[n]['s_type'] が MIME セカンダリータイプ (jpeg, png, gif など)、$images[n]['body'] が画像データーそのものです。
- ktai_post_name
- 引数:
$post_name, $contents
投稿スラッグをフィルターします。$post_name
は投稿スラッグの文字列です。$contents
は投稿内容を示すオブジェクトです (オブジェクトのメンバーはソースを見てください ;-)。返り値を空にするとデフォルトのスラッグ (時分秒を繋げた6ケタの数字) になります。
- ktai_post_date
- 引数:
$date_string, $images
投稿日時指定をフィルターします。$date_string
は日時指定コマンドの文字列です。$images
は画像の配列です。返り値を空にするとデフォルトの投稿日時 (Date: フィールドの日時) となります。
- ktai_post_status
- 引数:
$status, true, $user_id, $address
投稿者が利用可能な投稿ステータスをフィルターします。$status
は、publish (公開), pending (レビュー待ち), draft (下書き), NULL値 (投稿不可) のいずれかで、投稿者の権限によって決められます。返り値は、この4つに加えて private (非公開) も使えます。true の部分は常に true が入ります (過去との互換性のための引数)。 $user_id, $address
はそれぞれ投稿者のユーザー ID およびメールの差出人アドレスです。このフィルターを使うと、「講読者にはメール投稿は許可する」「この編集者ではメール投稿を不許可」などの設定ができます。
- ktai_image_link
- 引数:
$html, $id, $size
各画像を表示する XHTML をフィルターします。$html
は wp_get_attachment_link()
の結果です。$id
は画像の post ID、$size
は挿入する画像サイズで、medium, thumbnail のいずれかです。
- ktai_media_to_html
- 引数:
$html, $content, $img
画像を挿入した投稿本文をフィルターします。$html
は投稿本文、$content
は画像挿入前のテキスト、$img
は画像ごとの XHTML が入った配列です。
- ktai_notify_subject
- 引数:
$subject, $blogname, $post, $poster
Ktai Entry のメソッド notofy_publish() で送信される通知メールの題名 (Subject) をフィルターします。$blogname
はブログ名、$post
は投稿オブジェクト ($post->post_title
が投稿タイトル等)、$poster
は投稿者オプジェクト ($poster->display_name
が名前) です。notify_publish() の使い方は「メール投稿されたら管理者にメールが届くようにしたい」を参照してください。
- ktai_notify_message
- 引数:
$subject, $blogname, $post, $poster
Ktai Entry のメソッド notofy_publish() で送信される通知メールの本文をフィルターします。$blogname
はブログ名、$post
は投稿オブジェクト ($post->post_title
で投稿タイトル等)、$poster
は投稿者オプジェクト ($poster->display_name
が名前) です。
ログ機構
投稿がうまく処理されないときの問題点の洗い出し、不正アクセスの検出などのために、メール投稿処理のログを取ることができます。ktai_entry.php の 32 行目にある //define('KE_LOGFILE', 'logs/error.log');
のコメントを外します。すると、ktai_entry ディレクトリー配下の log ディレクトリーに error.log が作られます。念のため、手動で log ディレクトリーおよび error.log ファイルを作成して、chmod 0777 および chmod 1666 しておいた方が確実です。
外部メールボックスに随時アクセスの場合、メールチェックの度にログされますので、5分間隔の場合、1日で16000行以上記録されるかもしれません。
古いログの圧縮や削除は行ないませんので、logrotate(8) の対象にするか、手動で圧縮や削除を行なってください。そのまま放置すると、巨大なテキストファイルになり、問題が発生することがあります。
ktai_entry.php の 33 行目 //define('KE_DEBUG', true);
のコメントを外すとデバッグモードになり、さらに詳細な動作ログを取ることができます。管理パネルのメール投稿から、外部メールボックスの手動確認リンクをクリックした場合は、詳細な動作ログを画面でも確認できます。
ログメッセージは原則的に英語です。文字化けして読めない場合を避けるためです。簡単な英語ですので、がんばって読んでみてください。しかし、ktai_entry.php の 112 行目のコメントを外して「load_plugin_textdomain('ktai_entry_log', ...
」を有効にすると日本語化できます。文字コードはウェブログの文字コード (UTF-8 等) と同じです。ただし、メールサーバーに返答するためのメッセージ、および外部のメールボックスから返されたメッセージは英語のままです。
ログメッセージの解説および対処法は、「エラーメッセージ」を参照してください。
他のメール投稿ツールとの相違点
他の WordPress 用メール投稿ツールとの機能・実装の違いは以下の通りです。
動作比較表
|
Ktai Entry |
wp-mta |
wp-shot |
MobG 1.0 |
MobG 0.6 |
wp-mb_mail |
wpmob |
wpmobExpress |
メール送信後に投稿処理が不要 |
●※1 | ● | ●※1 | △※2 | - | -※3 | - | ●※1 |
管理パネルで設定可 |
● | - | ● | - | - | - | - | - |
絵文字投稿 |
●※4 | - | - | - | - | - | - | - |
許可アドレスの指定 (U: 登録ユーザー/F: 設定ファイル) |
U※5 | U | U | U, F | U, F | U | F | F |
不許可アドレスからのメール |
残す/返送 | 返送 | 残す | 削除 | 削除 | 削除 | 残す | 残す |
APOP 対応 |
● | (対象外) | △※6 | ● | - | ● | ● | ● |
SSL 対応 |
- | (対象外) | - | ● | - | - | - | - |
複数カテゴリーの指定 |
● | ● | - | ● | ● | - | ● | ● |
キーワードタグの付与 |
● | - | - | ● | - | - | - | - |
公開ステータスの指定 |
● | - | - | ● | - | - | - | - |
投稿日時の指定 |
●※7 | - | - | ● | - | - | ● | - |
投稿スラッグの任意指定 |
● | - | - | - | - | - | - | - |
画像はメディアライブラリに登録 |
● | - | - | ● | ● | ● | - | - |
画像は uploads ディレクトリーに保存 |
● | - | - | ● | - | ● | - | - |
画像の回転 |
● | ● | - | - | - | - | ● | - |
出力テンプレートに対応 |
△※8 | - | △※9 | △※9 | △※9 | - | ● | ● |
制約など |
PHP5 専用 | 主に自宅サーバー向け | - | WP 2.5 以降専用 | - | - | - | - |
※1: POP3 アクセスは、誰かがサイト閲覧したのをトリガーに行う。
※2: サーバーで cron 設定が必要。
※3:
別配布の STDIN 版では対応。
※4: au, ウィルコム, ドコモ、ソフトバンクのみ対応。
※5: my-hacks.php でフィルター関数を書けば、登録ユーザー以外のアドレス追加が可能。
※6: ソースコードの微修正が必要。
※7: 添付写真の EXIF 日付を投稿日時とする指定も可能。
※8: テンプレートは1種類のみで、管理パネルで編集可能。
※9: 設定ファイルまたはスクリプト自体の編集で、出力フォーマットの各パーツを変更できる。
(注意)
SOMY Mobile Gate は比較表に掲載していません。これは開発が終了しており、WordPress 2.3 以降で正しく動作しないため、自分でコード修正ができる人でない限り使うべきではないからです。後継ツールとして MobG があります。
今後の予定
- EXIF の画像方向 (orientation) を読み取って、自動的に回転するようにする。
- コマンドメールを送信すると、カテゴリー一覧を取り寄せられるようにする。
- 既存の投稿をメール投稿で更新できるようにする。これにより、Ktai Style で下書きを作って携帯電話に送信し、続きを書くことが可能になる。
- 各社の装飾メール (デコメ/デコレーションメール等) に対応する。
- 動画の投稿に対応する。
- JPEG 画像を回転させても EXIF 情報を残すようにする。
- 地図 URL があるときでも重複判定を行えるようにする。
- 添付画像の HTML 部分をテンプレートとして指定できるようにする。
改版履歴
- ver 0.9.1.2 (2011-09-30)
- 文字コードが指定されていないメッセージでの不具合を修正しました。
- ver 0.9.1.1 (2011-09-14)
- Yahoo! メールを利用して絵文字付きメールを送ると本文がスキップされる現象を修正しました。
- ver 0.9.1 (2011-09-07)
- 投稿日時の変更コマンドで添付ファイルの日時を指定したとき、
yymmdd_hhiiss
形式の日時ファイル名を認識するようにしました。
- 添付ファイルの元の名前が「image.jpg」「photo.jpg」「画像.jpg」「写真.jpg」の場合、
Ymd_His.jpg
形式の名前に置き換えるようにしました。
- 絵文字が認識されない不具合を修正しました。(ver 0.9.0.x のみ対象)
- Ktai Entry 設定パネルで投稿を通知する設定が保存されない不具合を修正しました。
- ver 0.9.0.1 (2011-09-02)
- 添付ファイル付きメールで正常に動作していなかった不具合を修正しました (ver 0.9.0 のみ対象)
- デバッグモードが有効のままリリースしていた問題を修正しました (ver 0.9.0 のみ対象)
- ver 0.9.0 (2011-09-01)
- 動作対象を WordPress 2.6 以降としました。これにより、UTF-8 動作のみ動作保証します。(XOOPS モジュール版 WordPress などの EUC-JP 動作はサポート外)
- デコメ絵文字に対応しました。デコメ絵文字は添付画像として処理され、メディアライブラリに格納されます。ただし、Flash で作られた動く絵文字は対応していません。
- 外部メールボックスを定期的に読み込むトリガーを WordPress 標準の wp-cron 動作に変更しました。これにより、携帯電話でのウェブログ閲覧でもメール取り込み動作が行なわれます。
- 新規投稿を管理者に通知できるようにしました。
- WordPress MU 2.8 以降で「プラグインをサイト全体で使用する」を実行した場合に、正しく動作するようにしました。
- 「メール着信時に投稿スクリプトを起動させる方法」を WordPress MU および WordPress 3.0 以降のマルチサイト設置に対応しました。各サイトごとに投稿メールアドレスを作り、wp-config.php を編集して wp-content/sunrise.php ファイルを設置する必要があります (詳細は設置方法を参照)。
- 投稿時のテンプレートを変更しました。これにより、画像の配置を左側以外に設定できるようになりました。(チケット#16637)
- WordPress 2.7 から導入された「大サイズ」に対応しました。
- 独自フィルターフックの名称を xxxxx/ktai_entry.php から ktai_xxxxx という形に改名しました。
- inject.php, retrieve.php, post.php 等を inc サブディレクトリーに移設しました。これらのファイルを参照している場合、パスの修正が必要です。
- ver 0.8.11 (2009-11-20)
- 添付ファイルの名前が二重拡張子になっている場合、余分なドットを削除するようにしました。*** これは一部の Apache 設定における脆弱性に対応するセキュリティー修正です***
- ファイル名に半角スペースが含まれる場合、アンダースコア (_) に置換するようにしました (従来はスペースを削除していました)。
- メール中の EZweb 絵文字の読み取りで、21個の絵文字が違う絵文字に化けてしまう (違う絵文字コードを投稿に入れていた) 不具合を修正しました。
- ver 0.8.10 (2009-05-05)
- SoftBank 3G, iPhone から Gmail に絵文字を送信するときの仕様変更に対応しました (ver 0.8.9 リリース後、いつの間にか仕様変更され、絵文字が認識されなくなっていました)。
- WordPress 2.6 以降で、wp-content ディレクトリーもしくは plugins ディレクトリーを標準の位置以外に移動している場合、ktai_style ディレクトリーに書き込み権限を与えておけば、プラグインの有効化時に、自動的に移設場所を検知するようになりました。
- 「投稿受付アドレス」の設定フィールドを下に移動しました。これは任意で設定する項目なのに一番上にあったので、間違って設定する人が多かったためです。
- ver 0.8.9 (2009-01-14)
- 画像を添付しないときの問題2点、本文に SQL コマンドを書くと実行できることがある脆弱性、および、publish_phone フックを利用するフィルターが正しく実行されない不具合、を改善しました。*** これはセキュリティー修正です ***
- ウィルコムの新しいメールアドレス willcom.com に対応しました。
- ソフトバンク 3G 端末および EMNet 利用のイー・モバイル音声端末から Gmail に絵文字送信した場合の絵文字検出に対応しました。
- iPhone (ファームウェアバージョン 2.2 以降) からの絵文字送信に対応しました。
- メールメッセージの解析に失敗したとき (添付ファイル付きメールが異常な場合など)、「No sender address found.」ではなく、「Invalid MIME structure」のメッセージを出すようにしました。
- Nokia 製端末で添付ファイル付きメールを送信したとき、Ktai Entry が添付ファイルの解析に失敗して「No sender address found.」のエラーを吐いていた不具合を改善しました。
- ver 0.8.8 (2008-10-02)
- ページキャッシュを行うプラグイン (WP-Cache, WP Super Cache) がインストールされている場合、「POP3 取り込み間隔」が「しない」の設定では、外部メールボックスを読み出すトリガーとなるスタイルシートが出ないようにしました (バージョン 0.8.7 では表示されていました)。
- 外部メールボックスを随時読み出す方式の場合、絵文字が使える状況 (au やウィルコムから送信していたり、ドコモから Gmail に送ったり等) でメールボックスに2通以上メッセージが溜っているとき、PHP エラーが発生して処理が中断してしまう不具合があったのを修正しました。
- バージョン 0.8.6, 0.8.7 で、投稿日時を添付写真の撮影日時として指定する機能 (DATE: コマンドで数字を指定) が効かなくなっていた不具合を修正しました。
- RFC2047 違反の日本語添付ファイル名をうまく読み取れるようにしました。Outlook Express や Gmail などで日本語添付ファイル名を使うと、本来使うべき RFC2231 ではなく RFC2047 に違反した独自のメール形式になっているため、以前のバージョンではうまく抽出できませんでした。
- WordPress ME 2.1.x において写真等を添付した場合、WordPress のバグにより「添付ファイルが見つかりません。」という文字列が挿入される現象を回避するようにしました。
- PHP 5.0.x 系統では動作していなかった不具合を改善しました。
- ver 0.8.7 (2008-08-14)
- プラグインを無効化したとき、メール設定のパスワードを別途保管しておき、後で有効化したとき復帰させるようにしました (従来は、プラグインを無効化すると、メール設定のパスワードが初期化されていました)。
- ページキャッシュを行うプラグイン (WP-Cache, WP Super Cache) が有効な場合、外部メールボックスを読み出すトリガーとなるスタイルシートは常時表示させるようにしました。キャッシュが有効な場合、読み出し時間間隔を経過してスタイルシートを表示させるようにしても、実際のページ出力に反映されないことがあるためです。
- ログ機能のメッセージの日本語化を簡単に行えるようにしました。
- 管理パネルで「オプションの削除」を行ったとき、メールボックスの確認を最後に行った時刻を削除するようにしました。(従来は削除が漏れていました)
- post_name フィルターが実行されていない不具合を修正しました。
- ver 0.8.6 (2008-07-21)
- 外部メールボックスの読み出しを「しない」に設定したとき、または、読み出し時間間隔を経過していない場合は、外部メールボックスを読み出すトリガーとなるスタイルシート表示を行わないようにしました。
- WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。ktai_entry/wp-load.php の書き換えが必要です。
- 本文が同じ内容を投稿しようとするときの重複チェックを強化しました。
- 添付画像がサーバーに保存できなかったときのエラー処理を改善しました。
- プラグインを停止したとき、POP3 サーバーのパスワードのみ初期化するようにしました。(従来はすべての設定を初期化していました)
- 次の独自フィルターフックを追加しました: post_category, post_keywords, image_rotate, post_name, post_date
- ver 0.8.5 (2008-06-17)
- 外部メールボックスを読み出すトリガーを、スタイルシートの呼出しに変更しました。これにより、JavaScript オフの設定がされたブラウザーによる閲覧でもメール読み込みが行なわれます。
- 同じ時刻の投稿があれば重複としてエラーにする確認を、DATE コマンドで添付画像の撮影日時を投稿日時に指定した場合でも行うようにしました。
- 同じ内容の投稿がある場合、重複とみなしてエラーとするようにしました。
- デフォルトの投稿スラッグが、時分秒を繋いだ6ケタの数字にならず、固定の文字列「003328」になってしまうバグを修正しました。(Ktai Entry 0.8.4 のみ存在するバグ)
- Windows サーバーで運営していて、かつ、プラグインのフォルダー名を ktai_entry 以外に変更しているとき、正常に動作しない不具合を修正しました。
- GD が組み込まれていない PHP で稼動させたとき異常終了していましたが、添付画像ファイルを無視して投稿処理がされるようにしました。
- WordPress MU で使用した場合、管理パネルの「メール投稿」でメールサーバーの設定をできるようにしました。通常の WordPress の場合は従来通り、「投稿設定」→「メールでの投稿」にて設定してください。ただし、添付画像の投稿にはうまく対応していないかもしれません。
- ver 0.8.4 (2008-06-05)
- 投稿日時を指定できるようにしました。日時を直接指定する方法と、添付する画像の撮影日時を投稿日時にする指定方法の2種類に対応しています。
- 添付ファイルの MIME タイプと拡張子の対応を確認し、一致しない場合は画像を保存しないようにしました。(気休め程度のセキュリティー確認)
WordPress MU で使用した場合、管理パネルの「メール投稿」でメールサーバーの設定をできるようにしました。通常の WordPress の場合は従来通り、「投稿設定」→「メールでの投稿」にて設定してください。作り込みが不十分で、実際には設定できない状態でした。
- ver 0.8.3 (2008-05-25)
- 各社装飾メール (デコメ/デコレーションメール等) を送信した場合、同じテキストが重複しないようにしました。装飾をそのまま反映する機能は未実装です。
- ログ機構が吐くメッセージを日本語化しやすいように、po ファイルにログ用文字列を含めました。デフォルトでは、文字化けを防ぐために英語メッセージのままです。日本語化は各自で行なってください。
- From フィールドに MIME エンコードされた日本語を含む場合でも正しくメールアドレスを検出するようにしました。従来、1バイト目もしくは2バイト目に < や > を含む場合 (「ぜ」「下」「次」など) では漢字部分をメールアドレスとして判断してしまっていました。
- 日本語名の添付ファイルを正しく検出するようにしました。ただし、保存時は日本語部分を削除したファイル名となります。すべて日本語部分のときは、ランダムな英数字をファイル名とします。
- ver 0.8.2 (2008-05-11)
- ドキュメントに Gmail および Yahoo! メールでの設定方法を記載しました。
- ドコモ端末から Gmail, au one メール、Yahoo! メールに送信した場合に、iモード絵文字を認識するようにしました。
- ソフトバンク 3G 端末から Yahoo! メールに送信した場合に、ソフトバンク絵文字を認識するようにしました。
- ver 0.8.1 (2008-05-10)
- 投稿ステータスの指定に PRIVATE (未公開) を指定できるようにしました。
- 外部メールボックスを読み出すトリガーを、init フックから wp_head フックに変更して、より確実にメッセージ取り込み処理を行えるようにしました。
- Basic 認証、Digest 認証で保護しているウェブログでも、自動的に外部メールボックスを読みに行けるようにしました。
- retrieve.php を _wpnonce 引数なしでウェブからアクセスしても、設定した読み出し時間を過ぎていればメールを取り込むようになりました。
- APOP ではなく POP を利用している場合、メールボックスに新着メールがなくても「サーバーエラー」(Bad Gateway) として処理していた不具合を修正しました。
- 投稿タイトルが文字化けしにくいよう、文字コードの検出を厳密にしました。
- 附属ドキュメントの「LightBox 用に、rel="lightbox"属性を追加する」のコードがバグっていたのを修正しました。(画像つきメールを送信しても、投稿にはテキストしか反映されない不具合の原因)
- ver 0.8.0 (2008-05-05)
- 絵文字投稿に対応しました。au およびウィルコムの絵文字を認識して、Ktai Style の絵文字フォーマットに変換して記録します。
- 「作成者/作者 (author)」以上の権限を持つユーザーが投稿する場合、「下書き (draft)」「レビュー待ち (pending)」の状態を選べるようにしました。また、講読者/協力者 (subscriber) は投稿してもエラー返送または破棄するようにしました (従来は下書きになっていました)。
- 添付画像を含む場合の出力フォーマットを管理パネルで設定できるようにしました。
- WordPress 2.3 以降において、カテゴリー指定コマンドでスラッグを認識するようにしました。
- 言語リソースファイルは lang フォルダー内にまとめました。
- カテゴリー変更コマンド、タグ付与コマンド、画像回転コマンドを本文最下行に書いた場合、除去されずに残ってしまう不具合を修正しました。
- 独自フィルターフック
post_status
を追加し、images_to_link
を media_to_html
に名称変更しました。
- ver 0.7.1 (2008-04-29)
- ログ機構を追加しました。
- 次の独自フィルターフックを追加しました:
retrieve_interval, validate_address, image_link, images_to_link
- コマンドライン版 PHP から retrieve.php を起動したときは _wpnonce 引数を不要としました。このため、cron で定期的にメールボックスのアクセスを指示することが可能です。
- プラグインを停止すると、POP3 サーバーの設定を削除するようにしました。Ktai Entry が有効時は wp-mail.php の実行を抑制しますが、Ktai Entry を停止すると実行されてしまうため、安全策として設定を削除します。
- サーバー環境によって、カテゴリー指定コマンド、画像回転コマンドが効かない問題を修正しました。
- ver 0.7.0 (2008-04-23)
- 新規リリース。wp-mta をベースに、wp-shot ライクな投稿方式も使えるようにしました。
- キーワードタグの付与に対応しました。
- メールに添付した画像は、WordPress のファイルアップロード/メディアブラウザに表示されるようになりました。
著作権について
Ktai Entry のライセンスは GPL v2 とし、著作権は作者である IKEDA Yuriko が保有します。ただし、ソースコードのいくつかの部分は WordPress の本体コードを流用したものがあり、その部分は WordPress 開発者が著作者です。具体的な流用元はソースコードを参照してください。
PEAR.php 単体は PHP ライセンス、Mail_mimeDecode.php 単体は BSD ライセンスであり、著作者はそれぞれのソースファイルに記載されている通りです。
以上