21.6. 先進的なトピックス

これからのセクションでは、 メールの設定やドメイン全体のためのメールの設定といったさらに突込んだ話題について触れます。

21.6.1. 基本事項

あなたのマシンに FreeBSD を普通にインストールして、 /etc/resolv.conf ファイルを設定するか、 またはネームサーバを走らせれば、 他のホストへ電子メールを送ることができるようになります。 あなたのホスト宛のメールをあなた自身の FreeBSD ホスト上の MTA (たとえば sendmail) に配送するようにしたい場合には、次の二つの方法があります。

  • 自身でネームサーバーを実行し、 自分のドメインを持つ。例えば FreeBSD.org

  • あなたのホストへ直接メールが配送されるようにする。 これはメールがあなたのマシンの現在の DNS 名に直接配送されるようにすることにより実現できます。 たとえば example.FreeBSD.org

上のどちらを選ぶ場合でも、自分のホストに直接メールが配送されるようにするには恒久的で 静的 な IP アドレス (ほとんどの PPP ダイアルアップ設定で用いられる動的なアドレスではなく) を持っていなければなりません。 もしファイアウォールの中にいるならば、 SMTP トラフィックが通過してくれないといけません。 もし自分のホストでメールを直接受け取りたいならば、 次の二つのうちのどちらかができていることを確認してください。

  • 自分のドメインでの (一番値の小さい) MX レコードが自分のホストの IP アドレスを差していることを確認する。

  • 自分のドメインの中に自分のホスト用の MX エントリがないことを確認する。

上のどちらかが設定されていれば、 自分のホストでメールを受け取ることができるでしょう。

次のコマンドを実行してみてください。

# hostname
example.FreeBSD.org
# host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX

もしあなたのマシンが上記のメッセージだけを出力したならば、 へのメールは問題なく配送されるでしょう (sendmailexample.FreeBSD.org 上で正しく動作していると仮定します)。

上記のメッセージの代わりに、

# host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org

というメッセージが出力された場合は、 あなたのホスト (example.FreeBSD.org) に宛てたメールは全て直接配送されずに hub 上の同じユーザー名に配送されます。

上の情報は DNS サーバーが扱います。 メールルーティング情報をもつ DNS レコードは、 Mail eXchange エントリーです。 MX エントリが存在しない場合には、IP アドレスにしたがって、 直接宛先ホストに配送されます。

freefall.FreeBSD.org の現時点での MX エントリは、次のようになっています。

freefall		MX	30	mail.crl.net
freefall		MX	40	agora.rdrop.com
freefall		MX	10	freefall.FreeBSD.org
freefall		MX	20	who.cdrom.com

freefall は多くの MX エントリを持っています。 一番 MX の値の小さいホストが利用可能な場合は直接メールを受け取ります。 もしなにかの理由でアクセスができない時には、 他のホスト (ときどき バックアップ MX と呼ばれます) が一時的にメールを受け取ります。そして、 より値の小さいホストが利用可能になったときにメールを渡し、 最終的に一番値の小さいホストに渡ります。

使い勝手をよくするためには、代替の MX サイトは、それぞれ 別の経路でインターネットへ接続しているとよいでしょう。 インターネットプロバイダまたは他の関連サイトが、このサービスを 提供することができます。

21.6.2. あなたのドメインに対するメール設定

メールホスト (メールサーバーとしても知られています) をセットアップするためには、 いろいろなワークステーションに宛てた全てのメールを受ける必要があります。 基本的には、あなたのドメイン内 (この場合だと *.FreeBSD.org) のすべてのホスト名宛てのすべてのメールを 受け取って、 そのメールをあなたのメールサーバーに配送し、 ユーザーがマスタメールサーバ上でメールをチェックできるようにします。

話を簡単にするために、あるユーザーのアカウントはどのマシンでも同じユーザー名にすべきです。 そのためには adduser(8) を使ってください。

使用する予定のメールホストは、 各ワークステーションごとにメール交換が できるように設定されていなければなりません。 これは DNS の設定で次のように行なうことができます。

example.FreeBSD.org	A	204.216.27.XX		; ワークステーション
MX	10 hub.FreeBSD.org	; メールホスト

これは、ワークステーションの A レコードがどこを指していようとも そのワークステーション宛てのメールをメールホストに転送する、というものです。

自前で DNS サーバを運用しているのでなければ、 この作業は自分では行えません。自分で DNS サーバを運用しないとかできないという場合は、 あなたの DNS を提供しているインターネットプロバイダなどに依頼して 作業を行ってもらってください。

もしバーチャル電子メールホストを運用するなら次の情報が役に立つでしょう。 例として、あなたには自分のドメイン、ここでは customer1.org、 を持っている顧客がいるとしましょう。 あなたは customer1.org 宛ての全てのメールを mail.myhost.com というメールホストに集めたいとします。 DNS エントリーは次のようになるでしょう。

customer1.org		MX	10 mail.myhost.com

customer1.org に対して電子メールを送りたいだけなら、 A レコードは必要ありません

注記:

customer1.org に対して ping を実行しても、 A レコードが存在しない限りうまくいかないことに留意しておいてください。

やらなければいけない最後のことは、 メールホスト上の sendmail に対してどんなドメインやホスト宛のメールを受け取るのか、 を教えることです。いくつかの方法がありますが次のどちらかでいいでしょう。

  • FEATURE(use_cw_file) を使っているなら、 /etc/mail/local-host-names ファイルにホストを加えます。 もし sendmail のバージョンが 8.10 より前であれば該当ファイルは /etc/sendmail.cw です。

  • /etc/sendmail.cf もしくは sendmail 8.10 以降なら /etc/mail/sendmail.cf といったファイルに Cwyour.host.com という行を加えます。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。