二重バウンスメールは postmaster (すなわち epmail メンバ)に配送されるように なっている.その際,メールの本文のみが自動的に削除されるようにする.
~epmail/.qmail の二行目に以下を一行で追加する
| condredirect epmail-wbounce /home/epmail/bin/check_wbounce.pl
condredirect は配送されたメッセージに対してプログラム(ここでは check_wbounce.pl)を実行し,プログラムが 0 を返した場合は指定された アドレス(ここでは epmail-wbounce) に転送するコマンドである. check_wbounce.pl を以下のように作成し,二重バウンスメールが 来た場合 0 を返すようにする.パーミッションは 755.
#!/usr/bin/perl
foreach(STDIN) {
if(/bounce bounced/) {
exit 0;
}
}
exit -1;
~epmail/.qmail-wbounce を以下のように編集する(一行で).パーミッションは600. これにより,epmail-wbounce に 配送されたメッセージは以下に述べる rmcontents.pl によって本文のみ 削除され To: postmaster は To: epmail-member に書き換えられる. 本文が削除されたメールは qmail-inject によって epmail-member に 配送される.
| /home/epmail/bin/rmcontents.pl|/var/qmail/bin/qmail-inject
/home/epmail/bin/rmcontents.pl を以下のように作成する.パーミッションは 755.
#!/usr/bin/perl
foreach (STDIN) {
s/^To: postmaster/To: epmail-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 ~epmail/bin/rmcontents.pl !\n");
print @temp ;
本文が削除された部分には "--- The contents below have been deleted by ~epmail/ bin/rmcontents.pl !" と表示される.
| 最終更新日: 2001/06/23(田中伸) | Copyright © 2001 epcore |