ezmlmのprefix設定方法
—————
ezmlm設定メモ
—————
■説明
ezmlmをインストールした後,デフォルトの設定では
いろいろ不便なのでこれらの設定を行う.
ezmlmのprefixの振り方はとっても頭が悪いので,
fmlなどと同じようなprefixがふれるようにした.
—————
■デフォルトで,Reply-toがつくようにする
/usr/local/bin/ezmlm/ezmlmrc
の321行目あたりに
Reply-to: < #L#>@< #H#>
—————
■デフォルトでprefixナンバーがつくように
/usr/local/bin/ezmlm/ezmlmrc
の440行目あたりに
[< #L#> #]
—————
■きれいな通し番号を
http://www.ep.sci.hokudai.ac.jp/~epnetfan/tebiki/server-ml/prefix.html
参照
/home/vpopmail/ に置く.
# chown vpopmail.vchkpw /home/vpopmail/prefix.pl
# chmod u+x /home/vpopmail/prefix.pl
250行目あたりコメントアウト
#|< #B#>/ezmlm-send ‘< #D#>‘
これを追加
|/usr/bin/nkf -em |/home/vpopmail/prefix.pl < #L#> ‘/home/vpopmail/domains/< #H#>/< #L#>/num’ |/usr/bin/nkf -j |/usr/local/bin/ezmlm/ezmlm-send ‘/home/vpopmail/domains/< #H#>/< #L#>‘
———prefix.pl————————
#!/usr/bin/perl # # This is a pert of the Dongury Perl library. # Copyright (C) 1999 Dongury Entertainment Corporation # All rights reserved. # # Based on the program written by Kyoma TAKAHASHI. # Many thanks for his advice! # # prefix.pl ver 0.3.6 # modified by Yuki Matsukura 2003/10/11# ######################################### $UseLock = 1; # True : 1, False : 0 $FormatIndex = 4; # Index の桁数 ######################################### sub lock_file { local(*FILE) = @_; if ($UseLock) { eval("flock(FILE, 2)"); if ($@) { return 0; } } return 1; } sub unlock_file { local(*FILE) = @_; if ($UseLock) { eval("flock(FILE, 8)"); } } sub increment { my ($path) = @_; local $num; open(INDEX, "+< " . "$path") or return 0; if (!&lock_file(INDEX)) { close(INDEX); return 0; } chop ($num = ); # Stop duplicated incrementation. # $num += 1; seek(INDEX, 0, 0); print INDEX "$num\n"; &unlock_file(INDEX); close(INDEX); return $num; } sub main { my ($prefix, $index, $result); shift; $prefix = $ARGV[0]; if (-e $ARGV[1]) { $index = &increment($ARGV[1]); } if ($index) { $index = sprintf('%.' . $FormatIndex . 'd', $index); } else { $index = "" unless $index; } while ( ) { chop; if (s/^Subject:\s//) { s/((\|\s|RE):\s)+/Re: /gi; s/^\[$prefix\s?\d+\]\s*//; # disable extra prefix # s/Re:\s\[$prefix\s?(\d+)\]\s*/Re:[$1] /g; s/Re:\s\[$prefix\s?(\d+)\](\s*)/Re: $2/g; s/Re:\s*Re:\s*/Re: /g; foreach $s (split) { if ($s =~ /Re:\[\d+\]/ and $pre =~ /Re:\[\d+\]/) { $pre = $s; $s =~ s/Re://g if (($s =~ /Re:\[/) && (!$` or $` =~ /(Re:)+/)); $result .= $s; next; } $pre = $s; $result .= " $s"; } print "Subject: [$prefix $index]" . $result . "\n"; last; } print; print "\n"; } print ; exit(0); } &main;
| 印刷 | この記事は Yuki Matsukura によって 2003/10/11 土曜日 3:47 PM に投稿されました, qmail 以下に保存されています。 RSS 2.0 を通してコメントをフォローする。 You can skip to the end and leave a response. Pinging is currently not allowed. |
約 5 年前
I’m just browsing around your site for the first time, interesting read