二重バウンスメールは 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 |