HOME > sendmail > mailertableの書式(基本編)

mailertableの書式(基本編)

2009/3/9

mailertalbe書式の基本

sendmailのmailertableの書式をまとめました。まずは基本的な書き方から。

mailertableの書式は、空白で区切って左辺と右辺にそれぞれ値を書きます。例えばこんな感じです。

example.com        smtp:mail01.example.jp

mailertableには「左辺に書かれたドメイン宛のメールに関して、右辺の処理を行う。」という設定を書きます。

上記例の場合は、「example.comドメイン宛のメールはmail01.example.jpにSMTP配送する。」という事になります。


mailertable左辺の基本

mailertableの左辺には、マッチさせたいドメインを書きます。example.comにマッチさせたいときは、次のように書きます。

example.com        smtp:mail01.example.jp

hoge.example.comやfuga.example.comなど、example.comのサブドメインにマッチさせたいときは、次のように書きます。この時、example.comにはマッチしません。

.example.com       smtp:mail01.example.jp

example.comとexample.comのサブドメインの両方にマッチさせたい場合は2行に分けて次のように書きます。

example.com        smtp:mail01.example.jp
.example.com       smtp:mail01.example.jp

全てのドメインにマッチさせたい場合は、次のように「.(ドット)」のみを書きます。

.                  smtp:mail01.example.jp

mailertable右辺の基本

mailertableの右辺には、左辺でマッチしたドメイン宛のメールに対してどんな処理を行うかを書きます。この時、「:(コロン)」で区切って、mailer:hostという書式になります。

mailer部には、予めsendmail.cf内で定義された配送方法を指定します。mailerには次のようなものがあります。mailerには次に挙げるもの以外にもありますが、smtpやrelayを使う機会がほとんどだと思います。

  • smtp
  • esmtp
  • relay
  • local
  • xnet

hostには、mailerを通して配送するホストを指定します。mail01.example.jpにメールを配送したい場合、次のように書きます。

example.com        smtp:mail01.example.jp

hostには、ドメインを指定することもできます。その場合、次のように書きます。

example.com        smtp:example.jp

hostにホストを書いてもドメインを書いても、sendmailはhostに書かれた値に関して、DNSのMXレコード検索を行います。 ドメインexample.jpに関するDNSのMXレコードが次のように設定している場合を考えます。

example.jp.        IN MX 10  relay.example.jp.

この時、mailertableの右辺host部にexample.jpと書いたら、relay.example.jpにメール配送が行われます。


DNSのMXレコード検索を行いたくない場合は、次のようにhostを[ ]で括ります。

example.jp         smtp:[mail01.example.jp]

[ ]で括ると、MXレコードの検索を行わず、そのホストに直接メールを配送します。

hostにはIPを直接書くこともできます。

example.jp         smtp:[192.168.1.25]

参考


ToDO

  • host部はAレコードとMXレコードのどちらが優先されるのか確認。
  • host部に[]無しでIPを書いたらどうなるのか確認。

履歴

  • 2009/3/9 - 初版