diff --git a/ja_JP.eucJP/books/handbook/mail/chapter.sgml b/ja_JP.eucJP/books/handbook/mail/chapter.sgml index 41852569ee..92fbc28ed4 100644 --- a/ja_JP.eucJP/books/handbook/mail/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/mail/chapter.sgml @@ -1,555 +1,556 @@ - Bill - Lloyd - 原作: + Bill + Lloyd + 原作: - Jim - Mock - 改訂: - + Jim + Mock + 改訂: + 電子メール 訳: &a.jp.mihoko;. 14 January 1997. この章では email 電子メール 電子メール、email としてのほうが知られているでしょう、 は現代で最も広く利用されているコミュニケーション手段の一つです。 何百万人という人が毎日 email を使っており、 この文章を偶然にもオンラインで読んでいるという人はこのカテゴリーに入るでしょうし、 複数の email アドレスを持っていたりもするかもしれません。 電子メールの設定は多くのシステム管理書籍のテーマになっています。 もし自分のネットワーク用に一つメールホストを設定することよりもさらに高度なことをしようとするなら、 しっかりとしたヘルプが必要でしょう。 DNS email の設定におけるいくつかの部分は Domain Name System (DNS) の管理下にあります。自分の DNS サーバーを立ち上げようと思っているなら、 必ず /etc/namedbman -k named を一通り読むようにしてください。 電子メールを使う POP IMAP - + email の交換には 5 つの主要な部分があります。 それらは ユーザープログラム、 サーバーデーモン、 DNS、 POP もしくは IMAP のデーモン、 そしてもちろん メールホストです。 ユーザープログラム いくつか名前を挙げれば、 - muttpine、 - elm、そして - mail、 + mutt, pine, + elm そして + mail といったコマンドラインプログラムや - balsa、 + balsa, xfmail のような GUI プログラム、WWW ブラウザーのようにさらに洗練されたものまであります。 これらのプログラムは、email の処理を server daemons を呼び出したり TCP 経由で渡したり、といった手段でローカルの メールホストに任せるだけです。 メールホストサーバデーモン - メールサーバデーモン - sendmail + メールサーバデーモン + sendmail - メールサーバデーモン - postfix + メールサーバデーモン + postfix - メールサーバデーモン - qmail + メールサーバデーモン + qmail - メールサーバデーモン - exim + メールサーバデーモン + exim 通常、これは sendmail - (FreeBSD のデフォルト) や qmail、 - postfix、もしくは + (FreeBSD のデフォルト) や qmail, + postfix もしくは exim といった他のメールサーバーデーモンの一つです。 他にもあるのですが、以上のものが広く使われています。 サーバーデーモンは通常 2 つの機能 — - やってくるメールを受け取るのと出ていくメールを配送する、 + やってくるメールを受け取るのと出ていくメールを配送する、 を持っています。メールを読むために POP や IMAP で接続する、 ということはできません。 そのためにはもう一つデーモンが必要なのです。 いくつかの古いバージョンの sendmail - には深刻なセキュリティ問題がありますが、 + には深刻なセキュリティ問題がありますが、 現在のバージョンを使っているおれば特に問題ないことに注意してください。 例のごとく、 どんなソフトウェアを利用する時にも最新の状態にしておくのが大事なのです。 - Email and DNS + Email と DNS Domain Name System (DNS) とそのデーモンである - named は email の配送において大変重要な役割を担ってます。 + named は email の配送において大変重要な役割を担ってます。 あなたのサイトからもう一つのサイトへメールを配送するためには、 サーバーデーモンは DNS からそのサイトを探し、 メールの受け取り先のホストを決定します。 メールがあなたに送られた場合にも同じような仕組みになっています。 - DNS にはホスト名と IP アドレス、ホスト名とメールホストをマッピングするデータベースがあります。 + DNS にはホスト名と IP アドレス、ホスト名とメールホストをマッピングするデータベースがあります。 IP アドレスは A レコードで指定されます。 MX (Mail eXchanger) レコードはあなた宛のメールを受け取るホストを指定します。 あなたのホスト名に対する MX レコードがない場合には、 メールは直接あなたのホストに配送されます。 メールの受け取り - email - 受け取り + email + 受け取り メールはメールホストが受け取ります。 - このホストは送られてきたメールを集め、 + このホストは送られてきたメールを集め、 (ユーザーが) 読んだりピックアップしたりするために保存します。 保存されているメールをピックアップするにはメールホストに接続する必要があります。 これは POP や IMAP を用いて行なわれます。 メールホスト上で直接メールを読みたい時は POP や IMAP のサーバーは必要ありません。 POP IMAP POP や IMAP のサーバーを走らせるためには 2 つのことをやらなければいけません。 - - - + + + POP や IMAP のデーモンをports コレクションからインストールします。 /etc/inetd.conf を修正して POP や IMAP のサーバーが起動されるように設定します。 メールホスト メールホスト メールホストとは責任をもってメールを配送したり、 - あなたのホストや、もしかするネットワークも、に宛てたメールを受け取ったりするホストに与えられる名前です。 + あなたのホストや、もしかするネットワークも、に宛てたメールを受け取ったりするホストに与えられる名前です。 トラブルシュート email トラブルシューティング ここには、いくつかのよく聞かれる質問とその答があります。 それらは FAQ からこちらに移りました。 - - どうして自分のサイトのホストなのに FQDN を使わなければいけないのですか? + + どうして自分のサイトのホストなのに FQDN を使わなければいけないのですか? - 恐らく、そのホストは実際には別のドメインにあるのでしょう。 - 例えば foo.bar.edu ドメインにいて、 - bar.edu というドメイン内の - mumble というホストにアクセスしたいとします。 - この時は単に mumble ではなく - mumble.bar.edu と FQDN で参照しなければなりません。 - - BIND - そもそも、BSD BIND のリゾルバー (resolver) ではこのようなことが可能でしたが、 - FreeBSD に入っている最新版の BIND - では自分のドメイン以外に対する FQDN でない省略形は許されません。 - 従ってホストを mumble と曖昧に指定した場合は - mumble.foo.bar.edu という名前があればそれになり、 - そうでなければ root ドメインから検索されます。 - - これは、 - mumble.bar.edu と - mumble.edu - ということなったドメイン名に対してホスト名のサーチがおこなわれていた以前の振る舞いとは異なったものです。 - このような事が悪い例もしくはセキュリティホールとみなされる理由については - RFC 1535 を見てください。 - - /etc/resolv.conf で - - domain foo.bar.edu - - と書いてある行を - - search foo.bar.edu bar.edu - - と書き換えることで上のようなことができます。 - しかし、RFC 1535 にあるように検索順序が内部 (local) - と外部 (public) の管理の境界をまたがないようにしてください。 + 恐らく、そのホストは実際には別のドメインにあるのでしょう。 + 例えば foo.bar.edu ドメインにいて、 + bar.edu というドメイン内の + mumble というホストにアクセスしたいとします。 + この時は単に mumble ではなく + mumble.bar.edu と FQDN で参照しなければなりません。 + + BIND + そもそも、BSD BIND のリゾルバー (resolver) ではこのようなことが可能でしたが、 + FreeBSD に入っている最新版の BIND + では自分のドメイン以外に対する FQDN でない省略形は許されません。 + 従ってホストを mumble と曖昧に指定した場合は + mumble.foo.bar.edu という名前があればそれになり、 + そうでなければ root ドメインから検索されます。 + + これは、 + mumble.bar.edu と + mumble.edu + ということなったドメイン名に対してホスト名のサーチがおこなわれていた以前の振る舞いとは異なったものです。 + このような事が悪い例もしくはセキュリティホールとみなされる理由については + RFC 1535 を見てください。 + + /etc/resolv.conf で + + domain foo.bar.edu + + と書いてある行を + + search foo.bar.edu bar.edu + + と書き換えることで上のようなことができます。 + しかし、RFC 1535 にあるように検索順序が + 内部 (local) と外部 (public) の管理の境界 + をまたがないようにしてください。 - sendmail が mail loops back to - myself というメッセージを出すのですが。 + sendmail が mail loops back to + myself というメッセージを出すのですが。 - sendmail FAQ に次のように書いてあります。 - - * Local configuration error というメッセージが出ます。例えば、 + sendmail FAQ に次のように書いてあります。 + + * Local configuration error というメッセージが出ます。例えば、 553 relay.domain.net config error: mail loops back to myself 554 <user@domain.net>... Local configuration error のような感じですが、どうしたら解決できますか? -これは、例えば domain.net のようなドメイン宛てのメールを +これは、例えば domain.net のようなドメイン宛てのメールを MX レコードで特定のホスト(ここでは relay.domain.net) に送ろうとしたのに、 そのホストでは domain.net 宛てのメールを受け取れるような設定になっていない場合です。 -設定の際に +設定の際に FEATURE(use_cw_file) を指定してある場合には /etc/sendmail.cw の中に domain.net を追加してください。 もしくは、/etc/sendmail.cf の中に Cw domain.net を追加してください。 - - sendmail FAQ は - /usr/src/usr.sbin/sendmail にありますので、 - メールの設定におかしなことがあれば常に読んでください。 + + sendmail FAQ は + /usr/src/usr.sbin/sendmail にありますので、 + メールの設定におかしなことがあれば常に読んでください。 - PPP - - ダイアルアップ PPP ホストで電子メールを使うにはどうしたらいいの? + PPP + + ダイアルアップ PPP ホストで電子メールを使うにはどうしたらいいの? - LAN 上にある FreeBSD マシンを、 - インターネットに接続したいとします。FreeBSD マシンは、その - LAN でのメールゲートウェイになります。FreeBSD - マシンは専用線接続ではありません - (訳注: ダイアルアップ接続など)。 - - これには、少なくとも二つの方法があります。 - - UUCP - 一つは UUCP を使うことです。 - - このとき鍵になるのは、あなたのドメインに対するセカンダリ - MX サービスを提供してくれるインターネットサイトをみつけることです。 - 例えば以下のように。 - - bigco.com. MX 10 bigco.com. - MX 20 smalliap.com. - - 最終的なメール受信先としては、 - 一つのホストだけが定義されるべきです (bigco.com 上の - /etc/sendmail.cf ファイルに、Cw - bigco.com を追加します)。 - - 送信側の sendmail が、 - メールを配送しようとしている時、モデムの接続を - 介してあなたのところに接続しようとします。大抵の場合、 - あなたのマシンがオンラインでないために、接続はタイムアウト - してしまうでしょう。sendmail は自動的に、 - メールをセカンダリの MX サイト に - (あなたのインターネットプロバイダ) に配送します。セカンダリ MX - サイトは、(/etc/rc.conf ファイル に - sendmail_flag = "-bd - -q15m"と書かれている場合) 15 分ごとに、 - プライマリ MX サイトにメールを配送しようと、 - あなたのホストに接続しに いきます。 - - ログインスクリプトとして、 - このようなものを使うとよいでしょう。 - - #!/bin/sh + LAN 上にある FreeBSD マシンを、 + インターネットに接続したいとします。FreeBSD マシンは、その + LAN でのメールゲートウェイになります。FreeBSD + マシンは専用線接続ではありません + (訳注: ダイアルアップ接続など)。 + + これには、少なくとも二つの方法があります。 + + UUCP + 一つは UUCP を使うことです。 + + このとき鍵になるのは、あなたのドメインに対するセカンダリ + MX サービスを提供してくれるインターネットサイトをみつけることです。 + 例えば以下のように。 + + bigco.com. MX 10 bigco.com. +MX 20 smalliap.com. + + 最終的なメール受信先としては、 + 一つのホストだけが定義されるべきです (bigco.com 上の + /etc/sendmail.cf ファイルに、Cw + bigco.com を追加します)。 + + 送信側の sendmail が、 + メールを配送しようとしている時、モデムの接続を + 介してあなたのところに接続しようとします。大抵の場合、 + あなたのマシンがオンラインでないために、接続はタイムアウト + してしまうでしょう。sendmail は自動的に、 + メールをセカンダリの MX サイト に + (あなたのインターネットプロバイダ) に配送します。セカンダリ MX + サイトは、(/etc/rc.conf ファイル に + sendmail_flag = "-bd + -q15m"と書かれている場合) 15 分ごとに、 + プライマリ MX サイトにメールを配送しようと、 + あなたのホストに接続しに いきます。 + + ログインスクリプトとして、 + このようなものを使うとよいでしょう: + + #!/bin/sh # Put me in /usr/local/bin/pppbigco ( sleep 60 ; /usr/sbin/sendmail -q ) & /usr/sbin/ppp -direct pppbigco - ユーザごとにログインスクリプトを作りたい場合には、上記 - のスクリプトの代わりに、sendmail - -qRbigco.com を使用する こともできます。 - このようにすると、キューの中の bigco.com に対する - すべてのメールは、すぐに強制的に処理されます。 + ユーザごとにログインスクリプトを作りたい場合には、上記 + のスクリプトの代わりに、sendmail + -qRbigco.com を使用することもできます。 + このようにすると、キューの中の bigco.com に対する + すべてのメールは、すぐに強制的に処理されます。 - さらに、次のような改良もできます。 + さらに、次のような改良もできます: - 以下は、&a.isp; - メイリングリストから抜粋してきたメッセージです。 + 以下は、&a.isp; + メーリングリストから抜粋してきたメッセージです。 - > 私たちはお客様に対して、セカンダリ MX を提供しています。 + > 私たちはお客様に対して、セカンダリ MX を提供しています。 > お客様は一日に何回か私たちのサービスに接続し、メールを彼らのプライマリ MX > に受け取ります (彼らのドメインに対するメールが到着した時には、 > 私たちは彼らのサイトを呼び出しません)。 > 私たちの sendmail は、30 分ごとにメールキューに溜っているメールを配送します。 > ちょうどその時に、すべてのメールがプライマリ MX に送られたかどうかを確かめるためには、 > 彼らは 30 分は オンラインでいなければなりません。 > > すべてのメールを今すぐ送るために sendmail を初期化するコマンドはあるでしょうか? > もちろん私たちのマシン上には、ユーザはルート (root) 権限を持っていません。 sendmail.cf の privacy flags セクションに、 Opgoaway,restrictqrun の定義があります。 root 以外のユーザがキューを処理できるようにするには、 restrictqrun を削除してください。また、MX の再調整が必要かもしれません。 あなたがたは、顧客のサイトに対する一番優先度の高い MX なので、 次のように定義します: # If we are the best MX for a host, try directly instead of generating # local config error. OwTrue このようにすると、リモートサイトからのメールが、 顧客のマシンと接続しようとせず、直接あなたがたのホストマシンに配送されるようになります。 ホストマシンに配送されたメールは、続いて顧客のマシンに送られます。 これはホスト名にのみ有効なので、顧客のメールマシンに、 host.customer.com とは別に、customer.comも定義する必要があります。 DNS 上で、customer.comに対する A レコードを定義してください。 - + 先進的なトピックス これからのセクションでは、 メールの設定やドメイン全体のためのメールの設定といったさらに突込んだ話題について触れます。 基本事項 - email - 設定 + email + 設定 あなたのマシンに FreeBSD を普通にインストールして、 /etc/resolv.conf ファイルを設定するか、 またはネームサーバを走らせれば、 他のホストへ電子メールを送ることができるようになります。 あなたのホスト宛のメールを特定のホストに配送するようにしたい場合には、 次の二つの方法があります。 - 自身でネームサーバーを実行し、 + 自身でネームサーバーを実行し、 自分のドメインを持つ。例えば FreeBSD.org あなたのホストへ直接メールが配送されるようにする。 これはメールがあなたのマシンの現在の DNS 名に直接配送されるようにすることにより実現できます。 たとえば example.FreeBSD.org SMTP 上のどちらを選ぶ場合でも、自分のホストに直接メールが配送されるようにするには恒久的 - (静的) な IP アドレス (動的な PPP ダイアルアップではない) を持っていなければなりません。 + (静的) な IP アドレス (動的な PPP ダイアルアップではない) を持っていなければなりません。 もしファイアウォールの中にいるならば、SMTP トラフィックが通過してくれないといけません。 もし自分のホストでメールを受け取りたいならば、 次の二つのうちの一つができていることを確認してください。 - MX レコード - - 自分のドメインでの MX レコードが自分のホストの + MX レコード + + 自分のドメインでの MX レコードが自分のホストの IP アドレスを差していることを確認する。 - + - - 自分のドメインの中に自分のホスト用の MX がないことを確認する。 - + + 自分のドメインの中に自分のホスト用の MX がないことを確認する。 + 上のどちらかが設定されていれば、 - 自分のホストでメールを受け取ることができるでしょう。 + 自分のホストでメールを受け取ることができるでしょう。 次のコマンドを実行してみてください。 &prompt.root; hostname example.FreeBSD.org &prompt.root; host example.FreeBSD.org example.FreeBSD.org has address 204.216.27.XX もしあなたのマシンが上記のメッセージだけを出力したならば、 yourlogin@example.FreeBSD.org へのメールは問題なく配送されるでしょう。 上記のメッセージの代わりに、 &prompt.root; 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 レコードは、 + メールルーティング情報をもつ 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 サイトは、それぞれ 別の経路でインターネットへ接続しているとよいでしょう。 インターネットプロバイダまたは他の関連サイトが、このサービスを 提供することができます。 あなたのドメインに対するメール設定 メールホスト (メールサーバーとしても知られています) - をセットアップするためには、 + をセットアップするためには、 いろいろなワークステーションに宛てた全てのメールを受ける必要があります。 基本的には、あなたのドメイン (この場合だと *.FreeBSD.org) 宛ての全てのメールをハイジャックし、 そのメールをあなたのメールサーバーに配送し、 ユーザーが POP を通じてあるいはサーバー上で直接、メールをチェックできるようにします。 DNS 話を簡単にするために、あるユーザーのアカウントはどのマシンでも同じユーザー名にすべきです。 - そのためには adduser を使ってください。 + そのためには adduser を使ってください。 使用する予定のメールホストは、 各ワークステーションごとにメール交換が できるように設定されていなければなりません。これは、DNS (すなわち BIND や named) の設定で次のように行なうことができます。 example.FreeBSD.org A 204.216.27.XX ; ワークステーション - MX 10 hub.FreeBSD.org ; メールホスト +MX 10 hub.FreeBSD.org ; メールホスト これは、ワークステーションの A レコードがどこを指していようとも - そのワークステーション宛てのメールをメールホストに転送する、というものです。 + そのワークステーション宛てのメールをメールホストに転送する、というものです。 自前で DNS サーバを運用しているのでなければ、 - この作業は自分では行なえおこなえません。自分で DNS + この作業は自分では行なえおこなえません。自分で DNS サーバを運用しないとかできないという場合は、 インターネットプロバイダ等に依頼して作業をおこなってもらってください。 この作業により、このワークステーション宛のメールは、MX (メールエクスチェンジャ) ホストに送られるようになります。A レコードがどのマシンを指しているかどいうことには関係なく、 メールは MX ホストに送られます。 もしバーチャル電子メールホストを運用するなら次の情報が役に立つでしょう。 - 例として、あなたには自分のドメイン、ここでは + 例として、あなたには自分のドメイン、ここでは customer1.org、 を持っている顧客がいるとしましょう。 あなたは customer1.org 宛ての全てのメールを mail.myhost.com という名前のメールホストに集めたいとします。 DNS エントリーは次のようになるでしょう。 - customer1.org MX 10 mail.myhost.com + customer1.org MX 10 mail.myhost.com そのドメインに対して電子メールを送りたいだけなら、A レコードは必要ありません。 - これは、customer1.org - に対して ping を実行しても、 - A レコードが存在しない限りうまくいかないことに留意しておいてください。 + これは、customer1.org + に対して ping を実行しても、 + A レコードが存在しない限りうまくいかないことに留意しておいてください。 やらなければいけない最後のことは、 - メールホスト上の sendmail + メールホスト上の sendmail に対してどんあドメインやホスト宛のメールを受け取るのか、 を教えることです。いくつかの方法がありますが次のどちらかでいいでしょう。 - + FEATURE(use_cw_file) を使っているなら、 /etc/sendmail.cw ファイルにホストを加えます。 もし sendmail 8.10 かそれ以降のものであれば該当ファイルは /etc/mail/local-host-names です。 /etc/sendmail.cf もしくは sendmail 8.10 以降なら /etc/mail/sendmail.cf といったファイルに Cwyour.host.com という行を加えます。