Notice: get_currentuserinfo の使用はバージョン 4.5.0 から非推奨になっています ! 代わりに wp_get_current_user() を使ってください。 in /var/www/html/blog/wp-includes/functions.php on line 3831 Call Stack: 0.0000 228200 1. {main}() /var/www/html/blog/index.php:0 0.0001 228640 2. require('/var/www/html/blog/wp-blog-header.php') /var/www/html/blog/index.php:17 0.1163 6018944 3. require_once('/var/www/html/blog/wp-includes/template-loader.php') /var/www/html/blog/wp-blog-header.php:19 0.1176 6028112 4. include('/var/www/html/blog/wp-content/themes/zbench/archive.php') /var/www/html/blog/wp-includes/template-loader.php:74 0.1176 6028144 5. get_header() /var/www/html/blog/wp-content/themes/zbench/archive.php:1 0.1176 6028728 6. locate_template() /var/www/html/blog/wp-includes/general-template.php:45 0.1176 6028968 7. load_template() /var/www/html/blog/wp-includes/template.php:647 0.1177 6043216 8. require_once('/var/www/html/blog/wp-content/themes/zbench/header.php') /var/www/html/blog/wp-includes/template.php:688 0.1190 6059472 9. wp_head() /var/www/html/blog/wp-content/themes/zbench/header.php:8 0.1190 6059520 10. do_action() /var/www/html/blog/wp-includes/general-template.php:2589 0.1190 6060192 11. WP_Hook->do_action() /var/www/html/blog/wp-includes/plugin.php:453 0.1190 6060288 12. WP_Hook->apply_filters() /var/www/html/blog/wp-includes/class-wp-hook.php:323 0.1286 6237944 13. call_user_func_array:{/var/www/html/blog/wp-includes/class-wp-hook.php:298}() /var/www/html/blog/wp-includes/class-wp-hook.php:298 0.1286 6238552 14. add_google_analytics() /var/www/html/blog/wp-includes/class-wp-hook.php:298 0.1288 6239336 15. ga_current_user_is() /var/www/html/blog/wp-content/plugins/google-analyticator/google-analyticator.php:1116 0.1288 6239368 16. get_currentuserinfo() /var/www/html/blog/wp-content/plugins/google-analyticator/google-analyticator.php:1289 0.1288 6239592 17. _deprecated_function() /var/www/html/blog/wp-includes/pluggable-deprecated.php:49 0.1289 6240080 18. trigger_error() /var/www/html/blog/wp-includes/functions.php:3831

Tag Archives: MailPack

MailPackがうまく機能していない

 先日、サーバの日時が未来に(それもかなり派手に)設定されていたため各所で弊害が発生している。

 MovableType(MT)プラグインのMailPackだが、MailBoxへpostしてもメールを取得しにいかなくなっている。cronの設定は変更していないので、MTのシステム的な問題と思われる。
 根拠として、MTの管理画面に表示されるエントリタイムラインの「今日」の位置が、3日後の10月8日なっているためである。
 先日、エントリした際に投稿日付が10月8日になっている事で誤りに気づき、慌ててサーバの日付変更と、エントリ自身の投稿日時を過去(つまり現在)に戻した(順は逆だったかも)。
 表面上正しく見えるが、タイムラインの「今日」はその時から変化する事なく10月8日を指したままなので、どこかのテーブルに誤った日付が残ってしまっていると考えている。
 予想が合っていれば、MailBoxに到着しているエントリは、3日後に解放されるのだろう。

エイリアスだめですか?『MailPackプラグイン』

 先日導入して便利に使ってるMailPackプラグイン。
 これでVamp Recordsもmoblogできるようになった。
 以下はMailPackの設定画面(この画面で、投稿先ブログを設定すると、そのブログのカテゴリチェックボックスが現われる)。
mailpack_config.jpg
 MailPackの仕組みは、moblog専用のメールBOXにメールでエントリを放り込んでおくと、un-periodic-tasksの実行(cron)に合わせて、メールBOXからメールを取り出し、あらかじめ設定しておいた定義に合致したメールのみをエントリとして投稿するというもの。
で、設定項目に、「投稿先のメールアドレス」とあるので、てっきり「カテゴリ」紐付けされるものだと思い、カテゴリ別にaliase切っておけば、あて先使い分けることでカテゴリ別投稿ができるなと思っていたけど違った。
 MailPackは複数の「投稿先のメールアドレス」を設定できるが、同一のメールBOXを登録することはできないようだ。
 つまり、「投稿先のメールアドレス」につきメールBOXは1つ。という紐付け。
 であるから、例えばmoblogというアカウントのメールBOXをMailPack用に用意して、Linuxカテゴリ用にlinux、プログラミングカテゴリ用にprogramingというmoblogアカウントのaliaseを準備したとしても、使い分けることができない(設定できない)。
 カテゴリ別にアカウントを切る(メールBOXを準備する)のが面倒というか、ちょっと格好悪いのでこの思惑は諦めた。
 結局、moblogカテゴリを新設し、そこに放り込むことにしている。

『MailPackプラグイン』向けFromフィールド置換

 引き続きMailPackプラグインの話題。
 MailPackプラグインは、MovableType(MT)に登録されたユーザのメールアドレスと、到着したメールのFromアドレスを比較するため、携帯電話から用いる場合にはMT登録ユーザのメールアドレスを携帯電話のそれにしなければならない(もしくは、携帯電話のアドレスで別のMTユーザを登録するという方法もある)。
 前にも書いたけど、これはちょっと嫌なのでsedでFromアドレスを置換することにする。
 .forward + procmail + sedで実現する。
【環境】
  • MT登録ユーザのメールアドレス:foo@bar.com
  • 携帯電話のメールアドレス:hoge@fuga.jp
  • MailPack用Mailboxのユーザ:mtgw
.forward

“|IFS=’ ‘ && exec /usr/bin/procmail -f- || exit 75 #mtgw

.procmailrc

:0 f
* ^From:.*hoge@fuga.jp
| sed ‘s/hoge@fuga.jp/foo@bar.com/g’

 それぞれMailPack用ユーザのホームディレクトリに置いておけば(もちろん.forwardと.procmailrcが有効である環境でなければならない)、MT登録ユーザのメールアドレスを変更する必要はなくなる。

メールエントリテスト『MailPackプラグイン』

 このエントリが正しく投稿されていれば、MailPackによるMovable TypeへのMail G
atewayは正しく動作している事になる。タグ付けができない不自由はあるが、重宝す
るのは間違いない。

 MailPackプラグインは、受信したエントリメールのFromアドレスと、MTに登録され
ているユーザのアドレスを照合し、一致すればブログ記事に反映するという仕組みを
持っている。これは当然の防御策である。

 ただ、自分の場合は携帯電話からのメール投稿が主な用途になるので、この仕様を
素直に受け止めるなら、MTに登録したメールアドレスを携帯電話のメールアドレスに
変更しなければならない。

 これは嫌だ。メールを受信したらFromを差し替えるなどの仕組みを作るしかない。
メールサーバは自前なので、このあたりの自由は効く。

 メールエントリの反映は、run-periodic-tasksの実行がトリガとなる。本ブログで
は、30分おきにcronで実行している。

 cronの設定とは別に、メールエントリが到着したらrun-periodic-tasksが実行され
るようにすれば、携帯からの投稿のみリアルタイムで反映させることができるはずだ。