maildrop の .mailfilter でスクリプト実行の種類
maildrop の .mailfilter で スクリプト(今回は php) 実行させた時のメモ さくらのレンタルサーバーのメールで、独自のフィルタを作成するにあたって、php の実行方法(2種類)による動作の違い xfilter で php スクリプトを呼び出した場合 .mailfilter xfilter "/usr/local/bin/php /home/HOHOHO/www/FUFUFU/test.php" if ($RETURNCODE == 1) { to "maildir/.Trash/" } test.php <?php $data = file_get_contents("php://stdin"); file_put_contents("php://stdout", $data); // exit(1); return 1; ?> 結果 php で return 1; も exit(1); も $RETURNCODE へ値が反映されない(常に0) stdout を行わないとメールが消失する(stdin → stdout をセットで利用) echoで出力してもok stdout で出力した結果(メールソース)がその後利用される → ヘッダに結果を残すなど exit(1); を使うと stdout が動作していない様子 → メールが消失する シングルクォーテーション(&H60) で php スクリプトを呼び出した場合 .mailfilter `/usr/local/bin/php /home/HOHOHO/www/FUFUFU/test.php` if ($RETURNCODE == 1) { to "maildir/.Trash/" } test.php <?php $data = file_get_contents("php://stdin"); // file_put_contents("php://stdout", $data); exit(1); ?> 結果 php で return 1; は ...