携帯からWordPressにブログ投稿できるように、メール投稿プラグイン「Ktai_Entry」を導入した。
このブログは自宅サーバで動作しているので、迷わず「メール着信時に投稿スクリプトを起動する」方法でセットアップした。
プラグインの設定自体は特に問題なく出来たが、.forwardファイルに記述した「inject.php」がうまく起動してくれない様子。投稿した内容が掲載されないばかりか、携帯には「相手先ホストの都合により送信できませんでした。」とのエラーメールが返信されてくる。。。
.forwardを無効にすれば携帯からのメールは正常に着信するし、WordPressにログインして、メール投稿の「すぐにメッセージを読み出す。」をクリックすれば投稿処理されるので、「inject.php」がうまく動作していないのはほぼ間違いなし。
サーバのmaillogを確認したら、下記のエラーが記録されていた。
postfix/local: warning: unable to create lock file /xxxx/yyyy/ktai_entry/inject.php.lock: Permission denied
postfix/local: (cannot append messages to file /xxxx/yyyy/ktai_entry/inject.php: cannot open file:Permission denied)
これを見る限り、inject.phpが動作したときの書き込み権限に問題があるのかと思って、関係しそうなフォルダやファイルを片っ端から777に変更して試してみるが改善する気配なし。。。
その後3日間に渡って、ネットでの情報収集と設定変更を延々繰り返したが解決できず。
八方塞がりになったところでもう一度、ktai_entryの説明をよく読み返すと、
「※要は、秘密のメールアドレスにメールが着信したら inject.php が起動されるようにします。自宅サーバーをお使いの方ならば、他の設定方法にもチャレンジしてみてください。」との一文が。。。そうか、他の方法を使えばいいのかってことで、「postfix メール着信 プログラム起動」でGoogle先生に聞いたら、aliasesファイルへの記述でプログラム起動できるらしい。早速Try!
1./etc/aliasesに投稿用メールアドレスのユーザ名(username)とコマンドを記述。
username: | “/usr/bin/php5 /xxxx/yyyy/ktai_entry/inject.php”
(なんか、.forwardファイルの記述とほとんど一緒。。。)
2.Postfixwo再起動
# newaliases
# service postfix restart
でもって、試しに携帯からメール送信したら、、、いとも簡単にブログに表示されましたとさ。めでたしめでたし。
——————————————————————————
最終更新日:2010年9月20日
——————————————————————————