一つの機械で、いくつもの別名を語っている場合、
何も考えないと、例えば
abuse@hostA.example.com
abuse@hostB.example.com
は、一つの宛先としてまとめられてしまう。しかし
virtusertable
という設定を使えば、それを分けることが可能になる。
- /etc/mail/sendmail.mc に次の文を入れるか、あるいは入っていることを確認
FEATURE(virtusertable,DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`virtusertable')
sendmail.mc は、ここに置いてある必要はないが、話の例えとして、この位置
にしている。もし新規に追加した場合には
(例えば)
cf /usr/pkgsrc/mail/sendmail/work/sendmail-8.13.3/cf/cf
./Build sendmail.cf
などとする。
- virtusertable を用意する。これはどこに置いてあってもいい。例えば次のように書く
abuse@hostA.example.com root@hostA.example.com
abuse@hostB.example.com root@hostB.example.com
- makemap を使って上の記述をデータべース化する ( virtusertable -> virtusertable.db)
makemap hash virtusertable < 上の内容が書いてある譜
- 上で作った virtusertable.db を /etc/mail に写しておく
- /etc/mail/local-domains に
hostA.example.com
hostB.example.com
を追加するか、入っていることを確認する
- sendmail を再起動する
sudo /etc/rc.d/sendmail restart
virtusertable.db を変更した(だけの)場合には、再起動の必要はない。
ここに紹介した使い方は、ほんの一例で、実際にはもっと色々な記述が可能で、それは
先ほども触れた次の URL を見て下さい。