Sendmail: 2006年5月アーカイブ

メールのルーティング

|

メールルーティング用メールサーバーのSendmailの設定。

■あるドメイン宛のメールは全部、担当ホストにリレーしてしまう。(mailertable)
例:xxx@hogehoge.local宛のメールはすべてhogemail.hogehoge.localに中継する。

○/etc/mail/sendmail.mc
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
○/etc/mail/mailertable
sapporo.hogehoge.local	smtp:mail.sapporo.hogehoge.local


■ドメインにとどまらず、メールアドレスによって振る舞いを決める(virtusertable)

○/etc/mail/sendmail.mc
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

○/etc/mail/virtusertable

# postmaster, admin宛てのメールは
# メールゲートウェイサーバーのrootが受け取るようにしている。
postmaster@hogehoge.local	root
admin@hogehoge.local		root

# imap.hogehoge.local 公用のアドレスはimapサーバーに届かせる。 info@hogehoge.local hoge-staff@imap.hogehoge.local sales@hogehoge.local sales@imap.hogehoge.local recruit@hogehoge.local recruit@imap.hogehoge.local

# 上から順番にマッピングしていき、 # 最後の行の@の前の部分は、すべて%1に代入される。 # 一般ユーザー用のメールはpopサーバーに配送されるイメージ。 @hogehoge.local %1@pop.hogehoge.local

# support.hogehoge.localというサブドメイン用のマッピングも # 同じくvirtusertableに記述できる。 postmaster@support.hogehoge.local root user01@support.hogehoge.local user01@imap.hogehoge.local user02@support.hogehoge.local user02@imap.hogehoge.local

# 「そんなユーザーは存在しない」というえらーメッセージを返信するなら # error:~~と書けばよい。「~~」の部分がえらーメールのbodyとなる。 @support.hogehoge.local error:nouser No such user here

# もちろん違うドメインのメールをリレーすることも可能である。 postmaster@example.local root @example.local %1@example.hogehoge.local

   

sendmail.mcからsendmail.cfを作成するには

|
最近のRedHat系(RHEL、FedoraCore、CentOSなど)は /etc/mail/の中にMakefileがあるので、
# make
とやるだけでいい。とても楽々。 しかも virtusertable access domaintable mailertable をhashdbにするのも
# make
でおわり。
しかし、基本的には、${CFDIR}/cf/にsendmail.mcを置き(おかなくてもいいけどさ)、
# m4 ../cf/m4/cf.m4 sendmail.mc > /etc/sendmail.cf
とする。 ※${CFDIR}はhttp://www.kuwazou.net/blog/tcpip/mail/sendmail/m4/を参照

RedHatの場合はsendmail.mcの1行目に
include(`/usr/share/sendmail-cf/m4/cf.m4')
という文があるためにcf.m4を指定しなくてよいのだ。

もしくは、
# cd ${CFDIR}/cf
# ./Build sendmail.cf
とする。実はこのスクリプト、非常に簡単であり、
#!/bin/sh

SMROOT=${SMROOT-../..}
BUILDTOOLS=${BUILDTOOLS-$SMROOT/devtools}

M4=/usr/bin/m4
ret=$?
if [ $ret -ne 0 ]
then
exit $ret
fi
echo "Using M4=$M4"

eval exec ${MAKE-make} M4=$M4 $*


これだけである。
しかし、Solaris8には存在しない。

   

このアーカイブについて

このページには、2006年5月以降に書かれたブログ記事のうちSendmailカテゴリに属しているものが含まれています。

前のアーカイブはSendmail: 2006年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Sendmail: 2006年5月: 月別アーカイブ

Powered by Movable Type 4.1