二重バウンスメールは postmaster (すなわち epwww メンバ)に配送されるように なっている. その際, メールの本文のみが自動的に削除されるようにする.
特に再構築時にやる必要は無し
~epwww/.qmail の二行目に以下を一行で追加する
| condredirect epwww-wbounce /home/epwww/bin/check_wbounce.pl
condredirect は配送されたメッセージに対してプログラム(ここでは check_wbounce.pl)を実行し,プログラムが 0 を返した場合は指定された アドレス(ここでは epwww-wbounce) に転送するコマンドである. check_wbounce.pl を以下のように作成し,二重バウンスメールが 来た場合 0 を返すようにする.パーミッションは 755.
#!/usr/bin/perl foreach(STDIN) { if(/bounce bounced/) { exit 0; } } exit -1;
~epwww/.qmail-wbounce を以下のように編集する(一行で).パーミッションは600. これにより,epmail-wbounce に 配送されたメッセージは以下に述べる rmcontents.pl によって本文のみ 削除され To: postmaster は To: epwww-member に書き換えられる. 本文が削除されたメールは qmail-inject によって epwww-member に 配送される.
| /home/epwww/bin/rmcontents.pl|/var/qmail/bin/qmail-inject
/home/epwww/bin/rmcontents.pl を以下のように作成する.パーミッションは 755.
#!/usr/bin/perl foreach (STDIN) { s/^To: postmaster/To: epwww-member/; $string = $string . $_; } @list = split(/--- Below this line is a copy of the message.\n/, $string); @temp = split(/\n\n/, $list[1]); unshift(@temp, $list[0]); @temp = ($temp[0],"--- Below this line is a copy of the message.\n", $temp[1],"\n\n--- The contents below have been deleted by ~epwww/bin/rmcontents.pl !\n"); print @temp ;
本文が削除された部分には "--- The contents below have been deleted by ~epwww/ bin/rmcontents.pl !" と表示される.
最終更新日: 2014/05/12 (渡辺 健介) フォーマット修正 | Copyright © 2013 epcore |