位置情報プラグインは2本リリースしたのですが、ウチで使っている「push 型モブログ投稿スクリプト wp-mta」については、もうちょっと練ってからリリースします。
実は、他のプラグインで何かエラーが発生した場合、メールサーバーには deferral が返されて、再配信されてしまうため、メールがループしてしまいます。もし、wp_insert_post() 実行後にエラーが発生していると、投稿処理は終っているため、投稿が何重にも繰り返されてしまいます。プラグインの開発中はどうしてもエラーが発生するため、複数投稿が起きてしまいました。
これではマズいため、多重投稿の防止機能を付ける必要があります。本当ならば、WordPress コアが PHP スクリプトエラーで終了するときの終了コードをいじって、qmail でハードエラーを表す100とできればいい (こうすれば再配信はしない) のですが、どうやればいいかよく分かりません;-) そこで、wp-mta 側で多重投稿を検出し、その場合はハードエラーで終了 (exit(100);) すればいいわけです。こうすれば、再配信も終了するため、メールループにはなりません。
さて、問題はどうやって多重投稿を検出するか。wp-mta では、メールの Date フィールドから投稿時刻を決定しているため、投稿時刻が同じならば多重投稿と考えていいでしょうか。タイトル (Subject フィールドから抽出) が同じである、という条件も入れたいところですが、特殊記号などは DB に入るときに文字が化ける場合もあるので、多重投稿を防げない場合もありそうです。
あ、ここで、Date フィールドが欠けているメールについて考慮してないことに気がつきました……。Date をつけないようなヤクザな MUA からのメールは破棄することにしていいかも;-)