Mailing ListのSubjectに [ML-NAME:xxxx] のような形のヘッダをつける方法.
qmail,vpopmail, ezmlm-idx で運用している場合だと,次のように手動で色々作業する必要があります.数年まえ設定したので,完全に手順を忘れていた.次作業するとき困らないように,記録しておきます.
まずhttp://www.y-min.or.jp/~nob/qmail/ezmlm.htmlを参考にaddprefix.plを作成.といっても,上記 nob様のページで公開されている addprefix.plを2行だけ修正.
#!/usr/bin/perl ($prefix) = @ARGV; ($numfile) = @ARGV; $prefix = "_noprefix_" unless $prefix; open(SEQ,"< $numfile"); chop($seq = <SEQ>) ; close(SEQ); $seq++; # Slurp in the mail header as a single paragraph $/ = ""; $_ = <STDIN>; chop; # remove the last character from the header. # Should be left with a single newline. # replace Subject: header if (/\nSubject:\s/) { # remove existing tag - in case this is a reply s/\n(Subject:.*)\[$prefix \d+\]\s(.*\n)/\n${1}${2}/; # remove Re: Re: s/R[eE]\:\s+R[eE]\:/Re\:/g; # insert prefix s/\nSubject:\s(.*\n)/\nSubject: [$prefix $seq] $1/; } else { $_ .= "Subject: [$prefix $seq] No subject\n"; } print "$_\n\n"; # Reset input record separator to go back to line by line reading $/ = "\n"; # Print rest of mail message while(<STDIN>) { print; }
使い方は,メールのカウンタが /var/qmail/vpopmail/domains/VDOM/ML/num だとすると,/var/qmail/vpopmail/domains/VDOM/.qmail-ML には次のように記述することになる.
|/usr/local/bin/ezmlm/ezmlm-reject |/usr/local/bin/addprefix ML '/var/qmail/vpopmail/domains/VDOM/ML/num' | /usr/local/bin/ezmlm/ezmlm-send '/var/qmail/vpopmail/domains/VDOM/ML' |/usr/local/bin/ezmlm/ezmlm-warn '/var/qmail/vpopmail/domains/VDOM/ML' || exit 0
それにしてもqmailとその仲間たちは良く出来ている.認めたくないが.