Ktai Entry マニュアル
[ はじめに | よくある質問と答え ]
はじめに
プラグイン配布サイト: http://wppluginsj.sourceforge.jp/ktai_entry/
※以前からのユーザーさんは、少なくとも「↓以前のバージョンからの更新方法」と「↓改版履歴」には目を通しておいてください。
概要
Ktai Entry は、携帯電話・PHS 等から WordPress に投稿できるメール投稿用プラグインです。いわゆる「モブログ」ができます。
- 投稿の反映にはウェブブラウザーが不要なので、メール送信ができればキャリアおよび機種を問いません。
- 投稿時にカテゴリー指定が可能です (複数カテゴリーに対応)。
- 投稿時にキーワードタグの付与が可能です。
- 画像を添付したメールに対応しています。画像を回転したり、大きい画像をサムネール化することが可能です。
- 画像は WordPress のファイルアップロード/メディアライブラリに格納されます。
- 絵文字投稿に対応しています。au, ウィルコム、ドコモ、ソフトバンクの絵文字を認識し、Ktai Style の絵文字フォーマット (<img localsrc="NNN" />) で保存されます。Ktai Style を併用すれば絵文字が表示されます。
環境に応じて、以下のいずれかの投稿スタイルが選べます。
- 外部メールボックスに随時アクセス:
投稿専用メールボックスに定期的にアクセスして新着メールがあれば取り込み、投稿処理を行う (wp-shot と同じ仕組み)。
- メール着信時に投稿スクリプトを起動:
メールサーバー上に投稿専用アドレスを作り、そこにメールが到着したら投稿スクリプトを起動させる (wp-mta と同じ仕組み)。
対応環境
- WordPress 2.0 以降。動作確認は、WordPress ME 2.0.11-2, ME 2.2.3, 日本語版 2.3.3, 日本語版 2.5 のみ行なっています。それ以外のバージョン (2.0.10 以前、2.1 系統など) は自己責任でご利用ください。
- キーワードタグの付与は WordPress 2.3 以降のみ対応です。
- PHP 5.0 以降。***** PHP4 では動きません!! *****
ただし、動作確認は PHP5.2.x で行なっていますので、それ以前のバージョンによって動かないかもしれません。PHP 5.0.x, 5.1.x をご利用の場合は、自己責任にてご利用をお願いします。
- 絵文字投稿は、au、ウィルコム、ドコモ、ソフトバンクに対応しています。ただし、ドコモは Gmail, au one メール、Yahoo! メール宛のみ、ソフトバンクは Yahoo! メール宛のみ利用可能です。
- (メール着信時に投稿スクリプトを起動する方式を使う場合)
- qmail または Postfix を利用したメールサーバー。ただし Postfix では動作確認を行なってないので動かないかもしれません。
- .qmail/.forward/.procmailrc などを自分で好きに作成して編集できる必要があります。
- .qmail/.forward/.procmailrc から WordPress のプラグインディレクトリーにある投稿スクリプト (ktai_entry/inject.php) が呼び出せることが必須です。メールサーバーとウェブサーバーが同一であれば大丈夫でしょう。違う場合は相当困難です。
設置方法
- wp-shot を使っていた場合は、プラグインを停止してください。wp-mta を使っていた場合は、当該ファイルを削除してください。
- プラグインをダウンロードして展開し、ktai_entry フォルダーごとサーバーに転送します。ただし、README.ja.html 等の html ファイル、lang フォルダー内の po ファイルは転送しなくて構いません (mo ファイルは必要です)。
- 投稿スタイルに応じてメールサーバーの設定をします。
- (外部メールボックスに随時アクセスの場合)
- 投稿専用メールアドレスを設定します。
- 携帯用メールアドレスを準備・取得してください。できれば、他で使っているアドレスと兼用にするのは避けて、専用のメールアドレスにしてください。無料メールアドレスで構いません。
- 各種設定→投稿設定→「メールでの投稿」に、メールサーバー・ログイン名・パスワードを記入してください。
※ 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 のパスはサーバーに応じて調整してください)
| /usr/bin/php /(WordPress へのパス)/wp-content/plugins/ktai_entry/inject.php
- ※要は、秘密のメールアドレスにメールが着信したら inject.php が起動されるようにします。自宅サーバーをお使いの方ならば、他の設定方法にもチャレンジしてみてください。
- 自分の WordPress サイトに管理者ログインして、新規にユーザーを作り、メールアドレスとして、携帯電話のメールアドレスを入力します。登録ユーザーのメールアドレスのみ投稿できるようチェックしているためです。メール送信してすぐ公開したい場合は、権限を「作成者/作者 (author)」以上としてください。「投稿者/寄稿者 (contributor)」の場合、「レビュー待ち (pending)」または「下書き (draft)」になり、編集者 (editor) 以上の権限を持つユーザーによる公開処理が必要となります。「購読者/協力者 (subscriber)」の場合は投稿できません。
- 使用しているテーマファイルのスタイルシート (style.css) を編集して、以下のスタイルを追加します。こうすると、写真の右側に文章が回り込むようになり、写真の周囲に白い余白とグレーの枠がついてかっこよくなります。スタイルの内容は好みに応じて適宜変更して構いません。
/* ----- Style for Ktai Entry ----- */
.photo {
padding-right:6px;
float:left;
line-height:110%;
font-size:0.85em;
text-indent:0;
}
.photo img {
background:white;
margin:0 4px 4px 0;
padding:3px;
border:1px solid #999;
}
.photo-end {
clear:left;
}
/* ---------- */
wp-shot を使っていた場合、wp-shot/style.css の内容も、お使いの style.css に追記しておいてください (でないと、過去のメール投稿写真のスタイルが崩れます)。
- Ktai Entry プラグインを有効にします。
- サイト管理画面の各種設定→メール投稿でオプションを変更します。基本的にはそのままで問題ありません。
- 投稿用メールアドレス: 3. で設定した投稿用メールアドレスを記載します。宛先 (To, Cc) にこのアドレスが含まれていない場合、投稿は受け付けられません。このフィールドが空の場合はアドレスチェックを行ないません。
- サーバーオプション: メールサーバーが APOP 対応のときは「APOP使用」チェックボックスに印をします。POP over SSL を使うとき (Gmail, Yahoo! メール等) はチェックを外してください。
- POP3 読み込み間隔: 外部メールボックスを確認する間隔を設定します。サーバー負荷がかかるため、最短でも5分程度としてください。「なし」にすると、自動的に確認しないため、retrieve.php を手動でアクセスしない限り投稿処理は行なわれません。メール着信すると投稿スクリプトを起動させる方式の場合は「なし」にしてください。
- 投稿に挿入する画像サイズ (WordPress 2.5 以降): 投稿に挿入する画像サイズを「サムネイル」または「中サイズ」から選べます。なお、画像のサイズは「その他設定」で変更してください。
- サムネイルの最大サイズ (WordPress 2.3.3 以前): 画像の縦横どちらかがこのサイズより大きい場合は、長辺側がこのサイズになるよう縮小されます。
- 投稿テンプレート (添付画像があるとき): 添付画像があるときの投稿テンプレートです。写真を本文の下に置きたい場合などは編集してください。投稿がテキストだけのとき、テンプレートは使用されません。
※wp-shot で必要だった cron ジョブの設定、RFC1939 のチェックはなくなりました。
ます。
以上で完了です。WordPress 2.3 以降を使っている場合、本プラグインの更新を知らせるために、別途「JSeries Notifier」をインストールされることをおすすめします。
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.7.1 以前を使っていた場合、ktai_entry ディレクトリー直下にある po ファイル、mo ファイルは削除してください。
- ktai_entry ディレクトリー直下のファイルを、新しいファイルで上書きしてください。
- プラグインを有効にし、「投稿設定」でメールサーバーの設定を再入力してください (プラグインを無効にすると初期値に戻るため)。
プラグインの撤去
プラグインの使用を中止して、撤去するには以下の手順で行なってください。
- プラグインを無効にします。これにより、設定値がデータベースから削除されます。
- FTP ツール等で、wp-content/plugins から ktai_entry ディレクトリーを丸ごと削除します。
- 念のため、「投稿設定」→「メールでの投稿」で、メールサーバーの設定がデフォルト値 (mail.example.com 等) に戻っていることを確認してください。戻っていなければ、すべて空白にしておいてください。
使用方法
携帯電話から、投稿専用メールアドレス (上記で準備したメールアドレス) に投稿するだけです。送信したメールを元に新規投稿を作成します。
- タイトル
- メールの題名 (Subject)、または本文中の <title>〜</title> で囲まれた内容。(後者が優先です)
- 投稿スラッグ
- 時分秒を繋げた6ケタの数字 (同じ数字が存在するときは -2, -3,... と追番がつきます)。SLUG: コマンド (後述) で変更できます。
- 投稿日時
- メール投稿日時 (Date フィールドの日時)
- 投稿作成者
- 差出人 (From) アドレスに対応する登録ユーザー
- 公開ステータス
- 投稿作成者が「作成者/作者 (author)」以上の権限を持つ場合は「公開」です。「投稿者/寄稿者 (contributor)」の場合は、「レビュー待ち (pending)」(WordPress 2.3 以降) または 「下書き (draft)」(WordPress 2.2.3 以前) となります。「講読者/協力者 (subscriber)」の場合は、投稿できずエラーとなります。DRAFT, PENDING コマンド (後述) で変更できます。
- カテゴリー
- デフォルトは、管理パネル→各種設定→投稿設定の「メール投稿時のデフォルトカテゴリー」。CAT: コマンド (後述) で変更できます。
- 本文
- 本文が投稿本文になります。ただし、カテゴリー指定指示・キーワードタグ指示、画像回転指示などのコマンドおよび、「
--
」で始まる署名部分は削除されます。
写真つきメールの場合は、画像を切り出してファイルアップロード処理を行い、その画像を呼び出す a 要素および img 要素が埋め込まれます。
重複投稿を防ぐため、すでに存在する投稿日時と同じ Date フィールドを持つメールは読み込まれません。
カテゴリー指定
カテゴリー指定の方法
臨時的にカテゴリーを「メール投稿時のデフォルトカテゴリー」以外に変更したい場合は、メール本文のどこかに、以下のように書きます。
CAT:カテゴリーID
または
CAT:カテゴリー名
または
CAT:カテゴリースラッグ (WordPress 2.3 以降のみ対応)
- 「CAT:」の文字列は行頭に書くことが必要です。
- コマンド文字列は投稿本文からは削除され、見えなくなります。
- 複数のカテゴリーをコンマで区切って指定することも可能です。コロンやコンマの前後にスペースが入ってもかまいません。
- カテゴリー系コマンド (後述のものも含む) を複数行記載した場合は一番上のもののみ認識され、本文から削除されます。2行目以下は認識されず、コマンド自体も残ります。
- 指定した文字列の探索順序は、ID → スラッグ → 名前です。違うカテゴリー ID で、スラッグと名前が一致している場合、その文字列がスラッグであるカテゴリーを検出します。
- 指定した文字列が数字であれば強制的に ID とみなします (カテゴリースラッグや名前が数字のものは検出できません)。
例えば以下の書き方が可能です。
CAT: 3
CAT: 旅行の計画, 2006年07月 3-3-SUNフリーきっぷ
CAT: plans, 首都圏日帰り, 46
カテゴリー追加の方法
投稿時のカテゴリーを、「メール投稿時のデフォルトカテゴリー」の他に別途追加したい場合は、メール本文のどこかに、
CAT+カテゴリーID
または
CAT+カテゴリー名
または
CAT+カテゴリースラッグ (WordPress 2.3 以降のみ対応)
と書きます。「CAT+」の文字列は行頭に書くことが必要です。コンマで区切って複数のカテゴリーを追加することも可能です。
カテゴリー変更の方法
投稿時に「メール投稿時のデフォルトカテゴリー」を変更してしまうことが可能です。
CAT>カテゴリーID
または
CAT>カテゴリー名
または
CAT>カテゴリースラッグ (WordPress 2.3 以降のみ対応)
と書きます。「CAT>」の文字列は行頭に書くことが必要です。コンマで区切って複数のカテゴリーを記述できますが、変更対象となるのは最後の行にある最初のカテゴリーです。投稿には記載したすべてのカテゴリーが反映されます。
CAT+>カテゴリーID
または
CAT+>カテゴリー名
または
CAT+>カテゴリースラッグ (WordPress 2.3 以降のみ対応)
と書いた場合は、デフォルトカテゴリーの変更を行いますが、既存の「メール投稿時のデフォルトカテゴリー」も投稿に反映されます。つまり、既存のデフォルトカテゴリーと今回指定したカテゴリーの両方が指定されます。
WordPress 2.3 以降では、キーワードタグも付与できます。メール本文のどこかに、以下のように書きます。
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 式の指定は混在できません。混在させてしまったときは回転指示が無効になってしまいます。
投稿スラッグ設定
デフォルトで投稿スラッグは、投稿時刻を元にした6ケタの数字 (時分秒を繋いだもの) になりますが、任意の英数字を指定できます。メール本文のどこかに
SLUG: (投稿スラッグ)
と書きます。「SLUG:」は行頭にある必要があります。英数字、ハイフン(-)、アンダースコア(_)が使えます。使えない文字を含めてしまっても、自動的に除去されます。
投稿ステータス設定
作成者 (author) 以上の権限を持つユーザーが投稿する場合、通常はすぐ公開されますが、以下のコマンドを入れると下書き (draft) またはレビュー待ち (pending; WordPress 2.3 以降のみ使用可能) の状態を設定できます。投稿者 (contributor) 以下のユーザーは、これらのコマンドを使っても無効です。コマンド文字列は投稿本文からは削除され、見えなくなります (寄稿者以下のユーザーが使っても削除されます)。
写真だけアップロードする/とりあえず投稿しておいて、あとで Ktai Style でじっくり編集する、などに使えます。
- 下書きにする
- メール本文のどこかに
DRAFT
と書きます。1行の中に「DRAFT」以外の文字列を書いてはいけません。DRAFT は行頭にある必要があります。
- レビュー待ちにする
- メール本文のどこかに
PENDING
と書きます。1行の中に「PENDING」以外の文字列を書いてはいけません。PENDING は行頭にある必要があります。WordPress 2.2 以前では「レビュー待ち」機能がないため、下書きの指定になります。
- 未公開にする
- メール本文のどこかに
PRIVATE
と書きます。1行の中に「PRIVATE」以外の文字列を書いてはいけません。PRIVATE は行頭にある必要があります。
制限事項
- 投稿受付メールアドレスは他人に知られないようにしてください。知られた場合、悪意ある他人にメール投稿されてしまいます。一応、From アドレスが WordPress に登録されたユーザーのものかどうかチェックを行なっていますが、悪意を持った人であれば簡単に From アドレスを詐称できるため、万全ではありません。
- 投稿を受け付けるメールアドレスは、原則としてウェブログの登録ユーザーのメールアドレスのみです。携帯電話から投稿する場合は、別途ユーザーを作って、携帯電話メールアドレスを登録してください。ただし、validate_address フック (後述) を利用して、許可メールアドレスを別途定義することも可能です。
- モブログで作成した投稿にコメントがついた場合、携帯電話に通知メールが送られます (投稿者のメールアドレスが携帯電話アドレスのため)。携帯電話でアドレス指定受信/ドメイン指定受信などをしている場合は、ウェブログのドメインを受信許可させるようにしてください。携帯電話に通知が行くのが嫌な場合は、上記の通り、validate_address フックを使って、携帯電話アドレスは別途定義として、投稿者は普段のユーザーになるように設定してください。
- 画像回転させたとき、EXIF 情報は消えてしまいます。GPS 情報を埋め込ませて Ktai Location プラグイン等で利用するときはご注意ください。画像回転させつつ位置情報を保持させたい場合、写真の添付時には本文にも位置情報 URL を添付させるようにしてください。
- 絵文字を表示させるには、Ktai Style プラグインを併用する必要があります。Ktai Style をインストールしていないと、絵文字部分は単なる img 要素となり、何も表示されません。
- 絵文字が使えるのは、au、ウィルコム、ドコモ、ソフトバンク 3G です。イー・モバイルは、絵文字が ? (はてな) に変換されてしまうため使えません。メールサーバーに到着した時点でそうなっているため、Ktai Entry では絵文字が認識できないのです。
- iモード絵文字は Gmail, au one メール、Yahoo! メール宛のみ利用可能です。それ以外のメールサーバーおよび、mova 端末から iショットメールを送信した場合は、ドコモのサーバーで絵文字が 〓 (ゲタ) に変換されるため、Ktai Entry で利用できません。
- ソフトバンク絵文字は 3G 端末から Yahoo! メール宛のみ利用可能です。それ以外のメールサーバーから送信した場合は、ソフトバンクのサーバーで絵文字が〓に変換されるため、Ktai Entry で利用できません。PDC 端末はEメールで絵文字の入力ができないので使用できません。
- 絵文字が使えるのは本文だけで、タイトル・カテゴリー名・タグ名には使えません。これはさまざまな技術的理由があって、解決は少々困難です。
- 絵文字投稿した本文をビジュアルエディタで編集・保存すると、絵文字が失なわれてしまいます。これは、ビジュアルエディタが <img localsrc="NNNN" /> フォーマットに対応していないためです。あとで編集するときは、コードエディタ (HTML エディタ) にしてから投稿を選んでください。ビジュアルエディタで投稿を開いてしまった場合、保存せずに前の画面に戻ってください。
- ファイル名に使える文字は 0-9, a-z, A-Z, ハイフン(-)、アンダースコア(_)、ドット(.)、チルダ(~)、プラス(+) だけです。それ以外の文字は削除されます。日本語ファイル名など使える文字が1文字もないときは、ランダムな英数字をファイル名とします。
- (外部メールボックスに随時アクセスする方式に関する注意)
- 実際に、外部メールボックスを確認するタイミングは、「誰かがサイトを閲覧したとき」です。このため、誰もサイトにアクセスしない場合は、たとえ確認間隔を「5分」に設定しても、1時間以上メールが読み込まれないことがあり得ます。
- 手動でメールボックス確認させる URL <http://(WordPressのアドレス)/wp-content/plugins/ktai_entry/retrieve.php> をウェブ経由でアクセスした場合、設定した読み出し時間を過ぎていない限り、メール確認処理は行なわれません。しかし、_wpnonce 引数 (12時間ごとに変化) をつけたり、コマンドラインから retrieve.php を起動させた場合 (_wpnonce は不要) は即時実行します。
- (メール着信時に投稿スクリプトを起動する方式に関する注意)
- レンタルサーバーではまず動作しないと考えてください。メールサーバーとウェブサーバーが別マシンだったり、シェルアカウントがなかったり、.qmail/.forward/.procmail の編集ができなかったり、任意のメールアドレスを追加できなかったり、関門が多いためです。自宅サーバーの場合は、うまく設置できることが多いでしょう。がんばってください。
- 設置直後は、メールのエラーによるメールループを発生させやすいので、テスト投稿のあとはメールログをよく確認してください。特に、投稿がうまく反映されないときは、再度試す前にログをチェックしてください。qmail の場合、PHP のエラーが発生したとき fatal エラーではなく deferral になるため、延々と投稿処理が繰り返されることがあるので、特に注意してください。
高度な設定・機能
post.php を編集することにより、以下の設定が変更可能です。
- カテゴリー設定コマンド (KE_SET_CATEGORY)
- カテゴリー追加コマンド (KE_ADD_CATEGORY)
- カテゴリー変更コマンド (KE_CHANGE_CATEGORY)
- カテゴリー追加・変更コマンド (KE_ADD_CHANGE_CATEGORY)
- キーワードタグ指示コマンド (KE_SET_TAGS)
- 画像回転指示コマンド (KE_ROTATE_IMAGE)
- 投稿スラッグ設定コマンド (KE_SET_POSTSLUG)
- 下書き指定コマンド (KE_DRAFT)
- レビュー待ち指定コマンド (KE_PENDING)
- 未公開指定コマンド (KE_PRIVATE)
- これ以後を署名として削除する文字列 (KE_DELIM_STR)
- メール投稿時に使える XHTML タグ ($allowedposttags, $allowedtags)
独自フィルターフック
Ktai Entry は以下の独自フィルターフックを備えています。差出人アドレス確認の結果、画像リンクの XHTML 記述や、投稿本文の記述を自分好みに変更することができます。
my-hacks.php などにフィルター関数を記述し、同時に add_filter('image_link/ktai_style.php', '(フィルター関数名)', 10, 3);
などと書けば、フィルターフックが有効になります。
- retrieve_interval/ktai_entry.php
- 引数:
$interval
外部メールボックスを読み出す間隔 (分単位) をフィルターします。0 にすると読み出ししません。
- validate_address/ktai_entry.php
- 引数:
$user_id, $address
差出人メールアドレスから、ウェブログ登録ユーザー ID を割り出した結果をフィルターします。登録ユーザー以外に別途許可したいアドレスがある場合や、投稿作成者は管理者に固定したい場合などに使います。
- post_status/ktai_entry.php
- 引数:
$status, $can_pending, $user_id, $address
投稿者が利用可能な投稿ステータスをフィルターします。$status
は、publish (公開), pending (レビュー待ち), draft (下書き), NULL値 (投稿不可) のいずれかで、投稿者の権限によって決められます。返り値は、この4つに加えて private (非公開) も使えます。$can_pending
は WordPress 2.3 以降ならば TRUE で、「レビュー待ち (pending)」が使えることを示します。 $user_id, $address
はそれぞれ投稿者のユーザー ID およびメールの差出人アドレスです。このフィルターを使うと、「講読者にはメール投稿は許可する」「この編集者ではメール投稿を不許可」などの設定ができます。
- image_link/ktai_entry.php
- 引数:
$html, $id, $size
各画像を表示する XHTML をフィルターします。$html
は get_the_attachment_link()
(WordPress 2.3 以前) または wp_get_attachment_link()
(WordPress 2.5 以降) の結果です。$id
は画像の post ID、$size
は挿入する画像サイズで、サムネールを意味する FALSE (WordPress 2.3 以前) または medium, thumbnail のいずれか (WordPress 2.5 以降) です。
- media_to_html/ktai_entry.php
- 引数:
$html, $content, $img
画像を挿入した投稿本文をフィルターします。$html
は投稿本文、$content
は画像挿入前のテキスト、$img
は画像ごとの XHTML が入った配列です。
ログ機構
投稿がうまく処理されないときの問題点の洗い出し、不正アクセスの検出などのために、メール投稿処理のログを取ることができます。ktai_entry.php の 27 行目にある //define('KE_LOGFILE', 'logs/error.log');
のコメントを外します。すると、ktai_entry ディレクトリー配下の log ディレクトリーに error.log が作られます。念のため、手動で log ディレクトリーおよび error.log ファイルを作成して、chmod 777 および chmod 666 しておいた方が確実です。
外部メールボックスに随時アクセスの場合、メールチェックの度にログされますので、5分間隔の場合、1日で16000行以上記録されるかもしれません。
古いログの圧縮や削除は行ないませんので、logrotate(8) の対象にするか、手動で圧縮や削除を行なってください。そのまま放置すると、巨大なテキストファイルになり、問題が発生することがあります。
ktai_entry.php の 28 行目 //define('KE_DEBUG', TRUE);
のコメントを外すとデバッグモードになり、さらに詳細な動作ログを取ることができます。管理パネルのメール投稿から、外部メールボックスの手動確認リンクをクリックした場合は、詳細な動作ログを画面でも確認できます。
ログメッセージは原則的に英語です。文字化けして読めない場合を避けるためです。簡単な英語ですので、がんばって読んでみてください。ただし、po ファイルに対訳を入れて mo ファイルを生成すれば日本語化することは可能です。
他のメール投稿ツールとの相違点
他の 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 対応 |
- | (対象外) | - | ● | - | - | - | - |
複数カテゴリーの指定 |
● | ● | - | ● | ● | - | ● | ● |
キーワードタグの付与 |
● | - | - | ● | - | - | - | - |
公開ステータスの指定 |
● | - | - | ● | - | - | - | - |
投稿時刻の指定 |
- | - | - | ● | - | - | ● | - |
投稿スラッグの任意指定 |
● | - | - | - | - | - | - | - |
画像はメディアライブラリに登録 |
● | - | - | ● | ● | ● | - | - |
画像は uploads ディレクトリーに保存 |
● | - | - | ● | - | ● | - | - |
画像の回転 |
● | ● | - | - | - | - | ● | - |
出力テンプレートに対応 |
△※7 | - | △※8 | △※8 | △※8 | - | ● | ● |
制約など |
PHP5 専用 | 主に自宅サーバー向け | - | WP 2.5 以降専用 | - | - | - | - |
※1: POP3 アクセスは、誰かがサイト閲覧したのをトリガーに行う。
※2: サーバーで cron 設定が必要。
※3:
別配布の STDIN 版では対応。
※4: au, ウィルコム, ドコモ、ソフトバンクのみ対応。
※5: my-hacks.php でフィルター関数を書けば、登録ユーザー以外のアドレス追加が可能。
※6: ソースコードの微修正が必要。
※7: テンプレートは1種類のみで、管理パネルで編集可能。
※8: 設定ファイルまたはスクリプト自体の編集で、出力フォーマットの各パーツを変更できる。
(注意)
SOMY Mobile Gate は比較表に掲載していません。これは開発が終了しており、WordPress 2.3 以降で正しく動作しないため、自分でコード修正ができる人でない限り使うべきではないからです。後継ツールとして MobG があります。
今後の予定
- 各社の装飾メール (デコメ/デコレーションメール等) に対応する。
- 動画の投稿に対応する。
改版履歴
- 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 のファイルアップロード/メディアブラウザに表示されるようになりました。
以上