メール投稿プラグインを極める

メール投稿を可能にするプラグイン1

Ktai Entry
Popのメール受信設定をし、メールを受信したらそれを投稿できる
受信したメールは即時公開になる
機能要件として、できたら、新規メールはいったん投稿保留し、内容を精査してから公開したい

http://wppluginsj.osdn.jp/ktai_entry/

公開設定について

下書きにするメール本文のどこかに

と書きます。1行の中に「DRAFT」以外の文字列を書いてはいけません。DRAFT は行頭にある必要があります。

レビュー待ちにするメール本文のどこかに

と書きます。1行の中に「PENDING」以外の文字列を書いてはいけません。PENDING は行頭にある必要があります。WordPress 2.2 以前では「レビュー待ち」機能がないため、下書きの指定になります。

未公開にするメール本文のどこかに

と書きます。1行の中に「PRIVATE」以外の文字列を書いてはいけません。PRIVATE は行頭にある必要があります。

 

カテゴリ指定について

カテゴリー指定の方法

臨時的にカテゴリーを「メール投稿時のデフォルトカテゴリー」以外に変更したい場合は、メール本文のどこかに、

  • 「CAT:」の文字列は行頭に書くことが必要です。
  • コマンド文字列は投稿本文からは削除され、見えなくなります。

 

強引に全ての投稿を下書きにする

ktai-entry/inc/post.php の編集

/* ==================================================
* @param none
* @return string $status
*/
private function decide_status() {

/* ==================================================
return $status; 強引に、status決定部分ですべてdraftを返すようにすると、どのユーザからの投稿でも下書きに入る
*/
return ‘draft’;
}

ちなみに、登録のないユーザ(メールアドレス)からメールが送られてくると、何事もなかったように無視される

 

Gmailで設定した場合のコツ

メールサーバー ssl://pop.gmail.com
ポート 995
ログイン名 (Gmail アドレス)例: hanako@gmail.com
パスワード (パスワード)

※Gmailの設定

Gmail の「設定」で「メール転送と POP / IMAP 設定」→「POP ダウンロード」→「今後受信するメールで POP を有効にする」

 

ログを吐かせたい

投稿がうまく処理されないときの問題点の洗い出し、不正アクセスの検出などのために、メール投稿処理のログを取ることができます。ktai_entry.php の 27 行目にある//define('KE_LOGFILE', 'logs/error.log'); のコメントを外します。すると、ktai_entry ディレクトリー配下の log ディレクトリーに error.log が作られます。念のため、手動で log ディレクトリーおよび error.log ファイルを作成して、chmod 0777 および chmod 1666 しておいた方が確実です。

 

ムム、手動で実行した時以外メール受信してないみたい
Wordpress最新版だとktai entryの定期実行がうまく動かない事があるらしい
CRONに以下を設定して試す

 

やっとうまく自動受信してくれるようになりました。
ktai entryのメンテナンスは止まっているようです。作者さんのブログは2014で止まっているし。業務用途で利用しようと思うと一抹の不安があります。

http://www.yuriko.net/cat/wordpress/

メールアドレスとユーザの関係

投稿すると、FROMを見て、ユーザと紐づけられます。test1ユーザのアドレスtest1@test.comから送られてくるとtest1ユーザの投稿として処理されます。

ユーザと権限の関係

投稿ユーザの権限により、寄稿者なら投稿保留されます。

権限とカテゴリの関係

プラグイン User Role Editor と、User Access Managerで権限割り当て、グループ作成と投稿・表示カテゴリを作成した場合

1.権限グループの権限が優先される、投稿は寄稿者なら保留される
2.他人のロールでつけられた権限で強い権限だとそちらが優先される
3.Set up user groups で割り当てた表示カテゴリは無視される(ktai entryで設定したカテゴリに投稿される)
4.権限のないカテゴリでも他のカテゴリの編集権限をもっていると投稿はそのまま掲載される