18.4. 先進的なトピックス

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

18.4.1. 基本事項

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

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

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

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

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

もしあなたのマシンが上記のメッセージだけを出力したならば, へのメールは問題なく配送されるでしょう.

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

    # 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 の値が小さいホストが最終的にメールを受け取ります. もし freefall が他の処理で忙しかったり, ダウンしているような場合には, 他のホストが一時的にメールをキューにいれます.

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

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

"メールホスト" (メールサーバーとしても知られています) をセットアップするためには, いろいろなワークステーションに宛てた全てのメールを受ける必要があります. 基本的には, あなたのドメイン (この場合だと *.FreeBSD.org) 宛ての全てのメールを"ハイジャック"し, そのメールをあなたのメールサーバーに配送し, ユーザーが POP を通じてあるいはサーバー上で直接, メールをチェックできるようにします.

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

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

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

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

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

この作業により, このワークステーション宛のメールは, MX (メールエクスチェンジャ) ホストに送られるようになります. A レコードがどのマシンを指しているかどいうことには関係なく, メールは MX ホストに送られます.

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

    customer1.org		MX	10	mail.myhost.com

そのドメインに対して電子メールを送りたいだけなら, A レコードは必要ありません.

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

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