2007-11-02

続々:fmlで開封確認メールが飛び交わないようにする

不在メールの日本語版にも対応しないと片手落ち、というご指摘を、組込みソフト界の最強の皮肉屋かつマンガ王の宿口さんから頂きましたので、ついでに掲載しておきます。

あまり美しくないので、どなたかきれいに書き直してくださいまし。

$USE_DISTRIBUTE_FILTER = 1;
$DISTRIBUTE_FILTER_HOOK = q#
$body_by_euc = $e{'Body'};
jcode::convert(\$body_by_euc, 'euc');

$target_for_filtering = 'I will be out of the office starting.*and will not return';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is an absence mail.';
};

$target_for_filtering = '\d*\/\d*\/\d*[ \t]*から不在にしております。.*\d*\/\d*\/\d*[ \t]*に帰社いたします。';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is an absence mail.';
};

$target_for_filtering = 'Return Receipt';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is a reply mail.';
};

$target_for_filtering = '受信確認レポート';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is a reply mail.';
};
#;

&DELETE_FIELD('Disposition-Notification-To');
&DELETE_FIELD('X-Confirm-Reading-To');

続:fmlで開封確認メールが飛び交わないようにする

結論として、昨日のフィルタでは上手く動きません。すみません。

きちんと動く(と思われる)フィルタを再掲しておきます。
#ついでに、不在メールも叩き落とすフィルタになってます。

$DISTRIBUTE_FILTER_HOOK = q#
$body_by_euc = $e{'Body'};
jcode::convert(\$body_by_euc, 'euc');

$target_for_filtering = 'I will be out of the office starting.*and will not return';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is an absence mail.';
};

$target_for_filtering = 'Return Receipt';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is a reply mail.';
};

$target_for_filtering = '受信確認レポート';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is a reply mail.';
};
#;

2007-10-31

fmlで開封確認メールが飛び交わないようにする

TEFのメーリングリストで、開封確認のメールが飛び交ってしまった。なにせ1400アドレス超のMLなので、ちょっとしたメール爆弾状態である。自分が開封確認などという極悪な機能のついたメールクライアントを使っていないこともあって、開封確認を付けないようにという事前案内も、開封確認が無効になるようなfmlの設定もしていなかった。完全にお世話係である自分の落ち度である。メンバの皆さん、スミマセンでした。 m(_)m

さて拙い設定だが、fmlのcfファイルに加えた開封確認フィルタをメモしておきたいと思う。どなたかのお役に立てば幸い。これは、開封確認ヘッダを削除することと、開封確認返信メールをたたき落とす役割のフィルタである。

&DELETE_FIELD('Disposition-Notification-To');
&DELETE_FIELD('X-Confirm-Reading-To');
$DISTRIBUTE_FILTER_HOOK = q#
if ($e{'Body'} =~ /^[\r\n]*Return Receipt.*/) {
return 'This is a reply mail.';
}
#;
$DISTRIBUTE_FILTER_HOOK = q#
$body_by_euc = $e{'Body'};
jcode::convert(\$body_by_euc, 'euc');
$target_for_filtering = '受信確認レポート';
jcode::convert(\$target_for_filtering, 'euc');
if ($body_by_euc =~ /^[\r\n]*$target_for_filtering.*/) {
return 'This is a reply mail.';
}
#;