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.';
};
#;