[PREVIOUS CHAPTER]
[NEXT CHAPTER]
2 事例
2.1 配送プログラム(e.g. sendmail)との通信のログを残す
ログをとるのがデフォールトです。
sendmailとのやりとりの記録(もっとも最近のものだけ)デバッグに便利です。
(デバッグとか終わっちゃって)必要ないなら
$NOT_TRACE_SMTP = 1;
と config.ph にかいてください。ログをとらなくなります。
2.2 ドメインをソートしてから配送
bulkmailer の用にドメインをソートしてから配送プログラムに突っ込む。
でも現代ではほとんど意味がないだろう。
$SMTP_SORT_DOMAIN
を設定するとソートを行なう。
2.3 $OUTGOING_ADDRESS: perl の生存時間を短くする
[設定の手順]
0. elena MLを例にとります。
1. include の見本を作る(include-outgoing)
% cd /var/spool/ml/elena
% make outgoing
include-outgoing という見本のファイルが生成されます。
2. /etc/aliases に書いて newaliases
elena-outgoing: :include:/var/spool/ml/elena/include-outgoing
3. makefml config でこの機能を有効にする。
-> OPTIONS -> SMTP -> USE_OUTGOING_ADDREESS -> "y"
$USE_OUTGOING_ADDDRESS を1にします。
2.4 PIPELININGを使わなくする
$NOT_USE_ESMTP_PIPELINING = 1;
PIPELINE が可能な場合でも使わない
2.5 複数のマシンの sendmail を使ってパラレルに送信
複数の(sendmailの走っている)マシン(非常時のセカンダリも含む)
$MCI_SMTP_HOSTS = N;
で指定されたN台のマシンを配列 @HOSTS で指定する
@HOSTS = (machine-1.domain, machine-2.domain, machine-3.domain, ...);
$HOST と @HOSTS で与えられる N個 のマシンの sendmail をパラレルに使っ
て(理論上での限界は)N倍配送を高速化する。
# $HOST も使われてしまうのは、もともと @HOSTS はセカンダリだったから
# です(歴史的に)。
もし、指定したサーバ数が N 個に足りない場合は、$HOST が何度も使われま
す。Nは理論上 int と同じだろうが、普通は netmask できまるわな(笑)でも、
他のドメインでも使えるから、int までいく(理屈、理屈)
#とくに actives の最後の方の人はうれしい
2.6 VERPs
See ../errormails 2.10.
2.7 MAIL FROM: を指定したい
MAIL FROM:<アドレス> のアドレス部分は、通常$MAINAINER です。しかし
SPAM 対策のため $MAINAINER につかっているドメイン名では ISP のメールサー
バに拒否される場合があります。
そういった場合は $SMTP_SENDER で MAIL FROM: の値だけを変更することがで
きます。
例:
/var/spool/ml/etc/fml/site_force.ph を作り、このファイルは
次のようにかきます。
$HOST = "転送ホスト名";
$SMTP_SENDER = 'ml-admin@転送ドメイン';
1;
もし、ML ごとに $SMTP_SENDER を変更するなら
$HOST="転送ホスト名";
$myDOMAIN = '転送ドメイン';
$SMTP_SENDER = $MAINTAINER;
$SMTP_SENDER =~ s/$DOMAINNAME/$myDOMAIN/;
1;
などとして SMTP_SENDER を動的に変更するのが楽でしょう。
[PREVIOUS CHAPTER]
[NEXT CHAPTER]