« | Home | »

2005.01.23

MajordomoのSequencerの改造(2)

またまたまた、Majordomoの改造の話です。
sequencerを改造してOutlook Expressでもメールシーケンスの重なりを起こらないようにしたが、Eudoraでは重なりが起こる事が分かった。

EudoraのSubjectはSubject:のWordの直後に改行が入るので、最初の方法ではシーケンス番号を取り除けない。

Subject:
=?ISO-2022-JP?・・・

のようになっているので、Subject:行の次の行もmimedecodeしてmimeencodeしシーケンスを取り除く必要がある。
Subject:行の次の行も処理すべき対象か、それ以外の行かは、mimeencodeされた行には=?が現れる事で判別しているが、Subjectの継続行以外でmimeencodeされている可能性はFrom, To, Reply行であるので、これらは除く。 
また、メールの本文中にシーケンスの重なり除去のアルゴリズムに引っかかるものが存在すると困るのでシーケンス番号の除去はメールのheader部だけに作用させるようにした。
これらの条件を考慮した結果が次である。

$in_header = 1;
while (<STDIN>) {
     if ($in_header){
if (/^s*$/) {$in_header =0 ;}
if (/^Subject:/ || (/=?/ && !/From|To|Reply/)) {
$_ = &mimedecode($_);
$_ = &mimeencode($_);
s/[rR][eE]:.*[([].*d+[)]]/Re:/;
s/[rR][eE]:s*[rR][eE]:/Re:/g;
           }
}
#############################################
if(/out-of-the-office/i){$taboo = 1;}
############################################
print IN $_;
}

どうも、スッキリした方法では無いですね。
誰か、良いアイデアがあればお教えください。

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)