diff --git a/ja_JP.eucJP/books/handbook/mail/chapter.sgml b/ja_JP.eucJP/books/handbook/mail/chapter.sgml index f347213ae6..a8591b4140 100644 --- a/ja_JP.eucJP/books/handbook/mail/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/mail/chapter.sgml @@ -1,692 +1,505 @@ 電子メール - 原作: &a.wlloyd;. + オリジナルは &a.wlloyd; によるものですが 1999 年 12 月 2 に + &a.jim; が書き直しました. 訳: &a.jp.mihoko;. 14 January 1997. - 電子メールのコンフィグレーションは, 多くの システム管理 の書籍で主題 - として取り上げられています. - ネットワークに合わせたメールホスト構築の - 範疇を越えるようなことをする のは, 簡単にはいきません. - - 電子メールのコンフィグレーションの一部は, - ドメインネームシステム (DNS) によって制御されています. - あなた自身で DNS サーバを 立ち上げたい場合には, - /etc/namedb ファイルを - あなたのサーバに合うように変更してください. - さらに詳しい情報が必要な場合には,man -k named - コマンドを実行してください. - - 基本事項 - - 電子メール交換の主要なプログラムや構成要素を, 次に示します. - “メールホスト” - はあなたのホストやネットワークに対するすべて - の電子メールを配送したり受け取ったりするサーバです. - - - ユーザプログラム - - これは, elm, - pine, - mail や, より洗練された WWW - ブラウザ のようなプログラムです. このプログラムは, 単純に - すべてのメールをローカルメールホスト転送します. この転送は, - sendmail を呼び出すか, - “メールホスト”に対して TCP 上 - の通信を使ってメールを配送するかの - いずれかによっておこないます. + 概要 + + 電子メール, emailとしてのほうが知られているでしょう, + は現代で最も広く利用されているコミュニケーション手段の一つです. + 何百万人という人が毎日 email を使っており, + この文章を偶然にもオンラインで読んでいるという人はこのカテゴリーに入るでしょうし, + 複数の email アドレスを持っていたりもするかもしれません. + + 電子メールの設定は多くのシステム管理書籍のテーマになっています. + もし自分のネットワーク用に一つメールホストを設定することよりもさらに高度なことをしようとするなら, + しっかりとしたヘルプが必要でしょう. + + email の設定におけるいくつかの部分は Domain Name System (DNS) + の管理下にあります. 自分の DNS サーバーを立ち上げようと思っているなら, + 必ず /etc/namedb と + man -k named を一通り読むようにしてください. + + + + 電子メールを使う + + email の交換には 5 つの主要な部分があります. + それらは ユーザープログラム, + サーバーデーモン, + DNS, + POP もしくは IMAP のデーモン, + そしてもちろん メールホストです. + + + ユーザープログラム + + いくつか名前を挙げれば, + mutt, pine, + elm, そして + mail, + といったコマンドラインプログラムや + balsa, + xfmail のような + GUI プログラム, WWW ブラウザーのようにさらに洗練されたものまであります. + これらのプログラムは, email の処理を + server daemons を呼び出したり + TCP 経由で渡したり, といった手段でローカルの + メールホストに任せるだけです. - + メールホストサーバデーモン - 通常, このプログラムはバックグラウンドで実行されている - sendmail または smail - です. 実行をやめたり, コマンドライン引数を変更するには, - /etc/rc.conf ファイル (FreeBSD 2.2.2 - より前のバージョンの場合は /etc/sysconfig - ファイル)を編集します. 特別な理由(ファイアウォール を - 構築している場合など)がないかぎり, - 実行する設定にしておくべきです. - - sendmail - は安全なサイト上であっても潜在的にセキュリティ上の - 弱点になることを覚えておいてください. - sendmail のいくつかのバージョンでは, - セキュリティ上の問題が 知られています. - - sendmail は, 電子メールの配送, - 受信の二つの仕事をおこないます. - - sendmail は, - サイトの外側へメールを配送する必要が ある場合, DNS - を参照して配送先のメールを受け取る実際の - ホストを決定します. - - sendmail - が配送エージェントとして動作する場合は, - ローカルキューからメッセージを取り出し, 受信側 - コンピュータ上の sendmail - へインターネットを介して配送します. + 通常, これは sendmail + (FreeBSD のデフォルト) や qmail, + postfix, もしくは + exim + といった他のメールサーバーデーモンの一つです. + 他にもあるのですが、以上のものが広く使われています. + + サーバーデーモンは通常 2 つの機能 — + やってくるメールを受け取るのと出ていくメールを配送する, + を持っています. メールを読むために POP や IMAP で接続する, + ということはできません. + そのためにはもう一つデーモンが必要なのです. + + いくつかの古いバージョンの sendmail + には深刻なセキュリティー問題がありますが, + 現在のバージョンを使っているおれば特に問題ないことに注意してください. + 例のごとく, + どんなソフトウェアを利用する時にも最新の状態にしておくのが大事なのです. - - DNS — ネームサービス - - ドメインネームシステムとそのデーモン - named は, ホストから IP アドレス, および - ホスト名からメールホストへのマッピングをおこなう - データベースを持っています. IP アドレスは A - レコードで定義します. MX レコードでは, - あなた宛のメールを受け取るメールホストを定義します. もし - あなたのホスト宛のメールに対する MX - レコードを持っていない場合には, - メールはあなたのホストに直接配送されます. - - あなたが自分自身の DNS サーバを実行させていない場合には, - DNS 上の情報を自分で変更することはできません. - インターネットプロバイダを使用している場合には, - プロバイダに依頼して 変更してもらってください. + + Email and DNS + + Domain Name System (DNS) とそのデーモンである + named は email の配送において大変重要な役割を担ってます. + あなたのサイトからもう一つのサイトへメールを配送するためには, + サーバーデーモンは DNS からそのサイトを探し, + メールの受け取り先のホストを決定します. + + メールがあなたに送られた場合にも同じような仕組みになっています. + DNS にはホスト名と IP アドレス, ホスト名とメールホストをマッピングするデータベースがあります. + IP アドレスは A レコードで指定されます. + MX (Mail eXchanger) レコードはあなた宛のメールを受け取るホストを指定します. + あなたのホスト名に対する MX レコードがない場合には, + メールは直接あなたのホストに配送されます. - - POP サーバ + + メールの受け取り + + メールはメールホストが受け取ります. + このホストは送られてきたメールを集め, + (ユーザーが) 読んだりピックアップしたりするために保存します. + 保存されているメールをピックアップするにはメールホストに接続する必要があります. + これは POP や IMAP を用いて行なわれます. + メールホスト上で直接メールを読みたい時は POP や IMAP のサーバーは必要ありません. - このプログラムはメールボックスからメールを取り出し, - ブラウザにメールを渡します. POP サーバをあなたのマシン上で - 動かしたい場合には, 次の二つの作業をする必要があります. - + POP や IMAP のサーバーを走らせるためには 2 つのことをやらなければいけません. - - pop ソフトウェアを ports コレクション - から入手 します. pop ソフトウェアは, - /usr/ports または - パッケージコレクションにあります. このハンドブックには, - ポート システム - についての完全な解説のセクションがあります. + + POP や IMAP のデーモンをports コレクションからインストールします. - POP サーバを起動できるように, - /etc/inetd.conf - ファイルを編集します. + /etc/inetd.conf を修正して POP や IMAP のサーバーが起動されるように設定します. + - 入手した pop プログラムには説明文が付属していますので, - それを読んで ください. + + メールホスト + + メールホストとは責任をもってメールを配送したり, + あなたのホストや, もしかするネットワークも, に宛てたメールを受け取ったりするホストに与えられる名前です. - - コンフィグレーション + + トラブルシュート + + ここには、いくつかのよく聞かれる質問とその答があります. + それらは FAQ からこちらに移りました. + + + + + どうして自分のサイトのホストなのに FQDN を使わなければいけないのですか? + + + + 恐らく, そのホストは実際には別のドメインにあるのでしょう. + 例えば foo.bar.edu ドメインにいて, + bar.edu というドメイン内の + mumble というホストにアクセスしたいとします. + この時は単に mumble ではなく + mumble.bar.edu と FQDN で参照しなければなりません. + + そもそも, 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 FAQ に次のように書いてあります. + + +* Local configuration error というメッセージが出ます. 例えば, + +553 relay.domain.net config error: mail loops back to myself +554 <user@domain.net>... Local configuration error + +のような感じですが, どうしたら解決できますか? + +これは, 例えば 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 にありますので, + メールの設定におかしなことがあれば常に読んでください. + + + + + + ダイアルアップ PPP ホストで電子メールを使うにはどうしたらいいの? + + + + LAN 上にある FreeBSD マシンを, + インターネットに接続したいとします. FreeBSD マシンは, その + LAN でのメールゲートウェイになります. FreeBSD + マシンは専用線接続ではありません + (訳注:ダイアルアップ接続など). + + これには, 少なくとも二つの方法があります. + + 一つは 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 に対する + すべてのメールは, すぐに強制的に処理されます. + + さらに, 次のような改良もできます. + + 以下は, &a.isp; + メイリングリストから抜粋してきたメッセージです. + + +> 私たちはお客様に対して, セカンダリ 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 レコードを定義してください. + + + + + + + 先進的なトピックス + + これからのセクションでは, + メールの設定やドメイン全体のためのメールの設定といったさらに突込んだ話題について触れます. - + 基本事項 あなたのマシンに FreeBSD を普通にインストールして, /etc/resolv.conf ファイルを設定するか, またはネームサーバを走らせれば, 他のホストへ電子メールを送ることができるようになります. - あなたのホスト宛の - メールを特定のホストに配送するようにしたい場合 には, + あなたのホスト宛のメールを特定のホストに配送するようにしたい場合には, 次の二つの方法があります. - ネームサーバ (man -k named) - を実行し, あなた自身のドメイン smallminingco.com - を定義する. + 自身でネームサーバーを実行し, + 自分のドメインを持つ. 例えば + FreeBSD.org. - あなたのホストに対する現在の DNS - 名に配送されたメールを受け取る. つまり dorm6.ahouse.school.edu - 宛に送られたメールを受け取る. + あなたのホストへ直接メールが配送されるようにする. + これはメールがあなたのマシンの現在の + DNS 名に直接配送されるようにすることにより実現できます. + たとえば example.FreeBSD.org. - インターネットへ完全に接続された - あなたのホストに直接メールが配送される ためには, - ネームサーバのどのオプションを使用するかは - あまり重要なことではありません. 大切なのは, あなたが恒久的な - IP アドレスを持っていなくてはいけないと いうことです. - ダイナミック PPP で得られる IP アドレスではダメです. - もしあなたがファイアウォールの内側にいる場合は, - ファイアウォールが smtp トラフィックを - あなたのホストに渡すように設定されていなければいけません. - そのためには, ファイアウォールとなるホストの - /etc/services - - - -smtp 25/tcp mail #Simple Mail Transfer + 上のどちらを選ぶ場合でも, 自分のホストに直接メールが配送されるようにするには恒久的 + (静的) な IP アドレス (動的な PPP ダイアルアップではない) を持っていなければなりません. + もしファイアーウォールの中にいるならば, SMTP トラフィックが通過してくれないといけません. + もし自分のホストでメールを受け取りたいならば, + 次の二つのうちの一つができていることを確認してください. - と書いておきます. - あなたのホスト上でメールを受けたい場合には, DNS の MX - エントリが あなたのホストアドレスを指しているか, - あなたのホストの DNS 名に対して MX エントリが存在しないことを - 確認してください. + + + 自分のドメインでの MX レコードが自分のホストの + IP アドレスを差していることを確認する. + + + + 自分のドメインの中に自分のホスト用の MX がないことを確認する. + + + + 上のどちらかが設定されていれば, + 自分のホストでメールを受け取ることができるでしょう. 次のコマンドを実行してみてください. &prompt.root; hostname -newbsdbox.FreeBSD.org -&prompt.root; host newbsdbox.FreeBSD.org -newbsdbox.FreeBSD.org has address 204.216.27.xx +example.FreeBSD.org +&prompt.root; host example.FreeBSD.org +example.FreeBSD.org has address 204.216.27.XX + もしあなたのマシンが上記のメッセージだけを出力したならば, - root@newbsdbox.FreeBSD.org へのメールは, - 問題なく 配送されるでしょう. + yourlogin@example.FreeBSD.org + へのメールは問題なく配送されるでしょう. 上記のメッセージの代わりに, - &prompt.root; host newbsdbox.FreeBSD.org -newbsdbox.FreeBSD.org has address 204.216.27.xx -newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.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 というメッセージが出力された場合は, - あなたのマシンに直接配送された すべてのメールは, - freefall - 上の同じユーザ名に配送されてます. - - この情報は, あなたのドメインネームサーバ上で設定します. - この設定をおこなうホストは, - /etc/resolv.conf - にプライマリネームサーバとして - 書いたホストと同じホストであるべきです. - - メールルーティング情報をもつ DNS レコードは, - メールエクスチェンジャエントリ (MX エントリ) です. MX - エントリが存在しない場合には, アドレスレコードにしたがって, + あなたのホスト (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 HINFO Pentium FreeBSD -freefall MX 10 freefall.FreeBSD.org -freefall MX 20 who.cdrom.com -freefall A 204.216.27.xx -freefall CNAME www.FreeBSD.org +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 の値が小さいホストが最終的にメールを受け取ります. + もし freefall が他の処理で忙しかったり, ダウンしているような場合には, - 他のホストが, 一時的にメールをキューにいれます. + 他のホストが一時的にメールをキューにいれます. 使い勝手をよくするためには, 代替の MX サイトは, それぞれ 別の経路でインターネットへ接続しているとよいでしょう. インターネットプロバイダまたは他の関連サイトが, このサービスを 提供することができます. - - dig, nslookup や - host コマンド を使うと, - とても便利です. - あなたのドメイン (ネットワーク) に対するメール設定 - - ネットワークメールホストをセットアップするためには, - すべての - ワークステーション宛のメールを直接受ける必要があります. - 言いかえれば, *.smallminingco.com - 宛のすべてのメールを ハイジャックし, そのメールをあなたの - “メールホスト” である個々のマシンにに配送 - します. - - それらのワークステーション上のネットワークユーザは, - たいていメールを POP や telnet 等で受け取ります. - - 同じユーザ名のユーザアカウントが, - 両方のマシンに存在しなければな りません. 必要ならば, - アカウントを作成するために adduser - コマンドを使用してください. shell を - /nonexistant に設定すると, - ユーザはログインできなくなります. + あなたのドメインに対するメール設定 + + メールホスト (メールサーバーとしても知られています) + をセットアップするためには, + いろいろなワークステーションに宛てた全てのメールを受ける必要があります. + 基本的には, あなたのドメイン (この場合だと + *.FreeBSD.org) + 宛ての全てのメールをハイジャックし, + そのメールをあなたのメールサーバーに配送し, + ユーザーが POP を通じてあるいはサーバー上で直接, メールをチェックできるようにします. + + 話を簡単にするために, あるユーザーのアカウントはどのマシンでも同じユーザー名にすべきです. + そのためには adduser を使ってください. 使用する予定のメールホストは, 各ワークステーションごとにメール交換が できるように設定されていなければなりません. これは, DNS - (すなわち BIND や named) の設定が必要です. 詳細は, - ネットワークの本を参照してください. - - 基本的には, 以下の行を DNS サーバに追加する必要があります. - + (すなわち BIND や named) の設定で次のように行なうことができます. -pc24.smallminingco.com A xxx.xxx.xxx.xxx ; Workstation ip - MX 10 smtp.smallminingco.com ; Your mailhost +example.FreeBSD.org A 204.216.27.XX ; ワークステーション + MX 10 hub.FreeBSD.org ; メールホスト + + これは, ワークステーションの A レコードがどこを指していようとも + そのワークステーション宛てのメールをメールホストに転送する, というものです. - 自前で DNS サーバを実行しているのでなければ, この作業は, - 自分では おこなえません. 自分で DNS - サーバを実行したくない場合は, - インターネットプロバイダ等に依頼して, - 作業をおこなってもらってください. + 自前で DNS サーバを運用しているのでなければ, + この作業は自分では行なえおこなえません. 自分で DNS + サーバを運用しないとかできないという場合は, + インターネットプロバイダ等に依頼して作業をおこなってもらってください. この作業により, このワークステーション宛のメールは, MX (メールエクスチェンジャ) ホストに送られるようになります. A レコードがどのマシンを指しているかどいうことには関係なく, メールは MX ホストに送られます. - この機能は, 仮想電子メールホスト (Virtual E-Mail Hosting) - を実装するために使用されています. - - - - foo.bar というドメインを持つ顧客がいて, foo.bar - 宛のメールをすべて, わたしのマシン smtp.amalliap.com - に送りたいと思っています. このような場合, あなたの DNS - サーバ上で, 以下のようなエントリを作成 - しなければなりません: + もしバーチャル電子メールホストを運用するなら次の情報が役に立つでしょう. + 例として,あなたには自分のドメイン, ここでは + customer1.org, + を持っている顧客がいるとしましょう. + あなたは customer1.org 宛ての全てのメールを + mail.myhost.com という名前のメールホストに集めたいとします. + DNS エントリーは次のようになるでしょう. -foo.bar MX 10 smtp.smalliap.com ; your mailhost - - そのドメインに対して電子メールを送りたいだけなら, A - レコードは必要ありません. つまり, foo.bar - に対するアドレスレコードが存在しない限り, ping - foo.bar コマンドが動作することを期待しては - いけません - - メールボックスへの最終的な配送が行われる - メールを実際に受けている メールホスト上では, - sendmail はメールを受け付けているホストを - 知っている必要があります. - - そのためには, (FEATURE(use_cw_file) - を使用している場合) /etc/sendmail.cw - ファイルに pc24.smallminingco.com - を追加するか, /etc/sendmail.cf - ファイルに, Cw myhost.smalliap.com - の行を追加してください. - - もしあなたが本気で sendmail - を使って何かしようと思うなら, sendmail - のソースをインストールするべきです. ソースには, - たくさんのドキュメントも付いています. UUCP のセットアップ の節に - sendmail の - ソースを入手するのに必要な情報が掲載されています. - +customer1.org MX 10 mail.myhost.com - - UUCP のセットアップ - - よくある質問 (FAQ) より抜粋. - - FreeBSD に付属する sendmail - のコンフィグレーションは, - 直接インターネット接続しているサイトに合うように作られてい - ます. メールを UUCP 経由で交換するようにしたい場合には, 別の - sendmail - コンフィグレーションファイルをインストールし - なければなりません. - - /etc/sendmail.cf - を手動で作成することは, 純正主義者 - がおこなうことだと考えられています. sendmail のバージョン 8 - では, m4 プリプロセッサを使用して, - コンフィグレーションファイルを生成する方法が取られています. - この場合, 実際に手動で作成したコンフィグレーションは, - 実際のコンフィグレーションより簡潔です. - 以下の場所にあるコンフィグレーションファイルを - 使用してください. - /usr/src/usr.sbin/sendmail/cf - - システム上にすべてのソースをインストールして いない場合, - sendmail の設定ツールは不完全なままであり, - それは個別のソース配布物の中にあります. CD-ROM - をマウントしてあれば, 以下のようにします. - - &prompt.root; cd /usr/src -&prompt.root; tar -xvzf /cdrom/dists/src/ssmailcf.aa - - 驚かないでください. - これはたった数百キロバイトのサイズのファ イルです. - cf ディレクトリ上にある - README ファイル には, m4 - コンフィグレーションの基本的な紹介が書かれてい ます. - - UUCP での配送には, mailertable - 機能を使用すること をおすすめします. これは - sendamil が配送経路を決定するのに - 使用するデータベースファイルです. - - まずはじめに, .mc - ファイルを作成します. - /usr/src/usr.sbin/snemdail/cf/cf - ディレクトリに これらのファイルを置きます. - ここには既にいくつかの例が 置いてあるので, 見てください. - foo.mc という名前で作成したと仮定すると, - それを有効な sendmail.cf - に変換するためには, まず次のようにします: - - &prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf -&prompt.root; make foo.cf - - 続いて, もし /usr/obj - 以下のディレクトリが存在しなければ: - - &prompt.root; cp foo.cf /etc/sendmail.cf - - とし, 存在すれば次のようにします: - - &prompt.root; cp /usr/obj/`pwd`/foo.cf /etc/sendmail.cf - - 典型的な .mc - ファイルは次のような内容です: + そのドメインに対して電子メールを送りたいだけなら, A + レコードは必要ありません. - -include(`../m4/cf.m4') -VERSIONID(`Your version number') -OSTYPE(bsd4.4) - -FEATURE(nodns) -FEATURE(nocanonify) -FEATURE(mailertable) - -define(`UUCP_RELAY', your.uucp.relay) -define(`UUCP_MAX_SIZE', 200000) - -MAILER(local) -MAILER(smtp) -MAILER(uucp) - -Cw your.alias.host.name -Cw youruucpnodename.UUCP - - nodnsnocanonify - は, メール配送をおこなう 際に, DNS - を参照しないようにするための設定です. - UUCP_RELAY は, 必要な設定ですが, - ここでは理由を 説明できません. その理由について, - ここでは質問しないでください. .UUCP - 仮想ドメインアドレスを扱うことができるインターネット - ホスト名を書いてください. おそらく, 使用する ISP - のメール中継ホスト名をそこに記述する ことになります. - - この設定が終了したら, - /etc/mailertable と呼ばれる - ファイルが必要になります. - このファイルの典型的な例を示します: + + これは, customer1.org + に対して ping を実行しても, + A レコードが存在しない限りうまくいかないことに留意しておいてください. + - -# -# makemap hash /etc/mailertable.db < /etc/mailertable -# -horus.interface-business.de uucp-dom:horus -.interface-business.de uucp-dom:if-bus -interface-business.de uucp-dom:if-bus -.heep.sax.de smtp8:%1 horus.UUCP -uucp-dom:horus if-bus.UUCP -uucp-dom:if-bus . uucp-dom:sax - - 見て分かるように, これは実際に使用されているファイルの一部 - です. はじめの三行は, ドメインアドレスが指定されたメールが - デフォルトルートに送信せずに, - 配送パスを“短縮”して, 隣接 UUCP - サイトにメールを送るための設定です. 次の行は, メールを SMTP - を使用して配送されているローカル - イーサネットドメイン上のマシンに送信するための設定です. - 最後に, UUCP 接続されているドメインが, .UUCP という仮想ド - メイン表記されている場合です. これは, - uucp-neighbor!recipient - をデフォルト規則で書換えるため です. 最終行は必ず - シングルドット (.) を指定します. - 上記のどのパターンにも当てはまらない送信先に対して, あなた - のメールの世界中へのゲートウェイとして動作してくれる隣接 UUCP - サイトに, UUCP を使って配送します. - uucp-dom: - というキーワードの後に書かれたすべての ノード名は, 隣接 UUCP - サイトでなければなりません. そのサイトと UUCP - 接続を行っているかどうかは, コマンド - uuname - を使用して確かめることができます. - - 実際に使用するには, このファイルを DBM データベースファイ - ルに変換する必要があることを忘れないでください. - これを実行するためのコマンド 行は, - mailertable - の先頭にコメントとして記述されています. 通常, このコマンドは, - mailertable を変更するたびに実行しな - ければなりません. - - 最終ヒント: もしいくつかの特定のメール経路が正しく動作する - かどうかが心配ならば, sendmail の - オプション を覚えておいてください. - このオプションは sendmail を - “アドレステストモード” で起動します. - メールの経路をテストするには, 0 - のあとにメール経路をテスト したいアドレスを入力してください. - 最後の行にあなたが使用する インターネットメールエージェント - (メール中継プログラム) と, - このエージェントに呼び出される宛先のホスト名と, - (翻訳可能な場合) アドレスがが表示されます. このモードを - 終了するには, Control-D を入力します. - - &prompt.user; sendmail -bt -ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) -Enter <ruleset> <address> -> 0 foo@interface-business.de -rewrite: ruleset 0 input: foo @ interface-business . de -… -rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo < @ interface-business . de - - - - - よくある質問 (FAQ) - - このセクションは, FAQ - から移動してきました. - - - どうして 同じサイトのホストに対して完全な形のドメイン名 - (FQDN) を使わなければいけないの? - - おそらく, - そのホストは実際には違うドメインに属しているのでしょう. - 例えば, もしあなたが foo.bar.edu - ドメインにいて, bar.edu - ドメインの中のmumble - というホストに接続したいと します. その場合あなたは, - mumbleではなく mumble.bar.edu - という完全な形のドメイン名 (FQDN) によっ - てそのホストを参照しなければなりません. - - 伝統的に, これは BSD BIND リゾルバでは許されていました. - しかしながら, FreeBSD に付属する現在の - BIND の バージョンでは, - 自分が属しているドメイン以外では, - 完全な形でないドメイン名に対するデフォルトの省略形は - 使用できません. ですから, 完全でないホスト名 - mumble は, mumble.foo.bar.edu として解決されるか, - ルートドメインに検索しにいくでしょう. - - これは, mumble.bar.edu, - mumble.edu - というように検索し続けるような過去の動作とは異なります. - なぜこれが悪い慣例, さらにはセキュリティーホールと考えられ - るようになった理由については, RFC1535 - を参照してください. - - この問題を回避するには, - - -search foo.bar.edu bar.edu - - という行を - - -domain foo.bar.edu - - に置き換えます.これを自分のマシン上の - /etc/resolv.conf ファイルに - 記述してください. しかしながら, 検索順序は, RFC 1535 に - 書かれている, “ローカル管理と公共の管理の間の境界線” - を越えないことを, あらかじめ確認してください. - - - - Sendmail が <errorname>mail loops back to - myself</errorname> というエラーを出します - - これについては, sendmail FAQ の中で, 次のように答えられて - います: - - -* 次のような 「Local configuration error」というメッセージが出ます: - -553 relay.domain.net config error: mail loops back to myself -554 <user@domain.net>... Local configuration error - -この問題をどうやって解決すればよいでしょうか? - -MX レコードを使って, あるドメイン(例: domain.net)宛にメールを -特定のホスト (この場合, relay.domain.net) に転送しようと設定したと -していますが, 中継ホストは自身が domain.net であるとは認識 -していません. -(FEATURE(use_cs_file) を使用している場合は) -/etc/sendmail.cw に, domain.net を追加してください. -または, 「Cw domain.net」を /etc/sendmail.cf に追加してください. - - sendmail FAQ は, - /usr/src/usr.sbin/sendmail に あります. - “ちょっと凝った”メール設定 をしたい場合は, FAQ - を読むことをおすすめします. - - - - ダイアルアップ PPP - ホストで電子メールを使うにはどうしたらいいの? - - LAN 上にある FreeBSD マシンを, - インターネットに接続したいと します. FreeBSD マシンは, その - LAN でのメールゲートウェイになります. FreeBSD - マシンは専用線接続ではありません - (訳注:ダイアルアップ接続など). - - これには, 少なくとも二つの方法があります. - - 一つは UUCP を使うことです. - - このとき鍵になるのは, あなたのドメインに対するセカンダリ - MX サービス - を提供してくれるインターネットサイトをみつけることです. - - 例: - - -bigco.com. MX 10 bigco.com. - MX 20 smalliap.com. + やらなければいけない最後のことは, + メールホスト上の sendmail + に対してどんあドメインやホスト宛のメールを受け取るのか, + を教えることです. いくつかの方法がありますが次のどちらかでいいでしょう. - 最終的なメール受信先としては, - 一つのホストだけが定義されるべきです (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 に対する - すべてのメールは, すぐに強制的に処理されます. - - - さらに, 次のような改良もできます. - - 以下は, freebsd-isp - メイリングリストから抜粋してきたメッセージです. - - -> 私たちはお客様に対して, セカンダリ 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 + + + FEATURE(use_cw_file) を使っているなら, + /etc/sendmail.cw ファイルにホストを加えます. + もし sendmail 8.10 かそれ以降のものであれば該当ファイルは + /etc/mail/local-host-names です. + -このようにすると, リモートサイトからのメールが, 顧客のマシンと接続し -ようとせず, 直接あなたがたのホストマシンに配送されるようになります. -ホストマシンに配送されたメールは, 続いて顧客のマシンに送られます. -これはホスト名にのみ有効なので, 顧客のメールマシンに, -「host.customer.com」とは別に, 「customer.com」も定義する必要があり -ます. DNS 上で, 「customer.com」に対する A レコードを定義してください. + + /etc/sendmail.cf もしくは + sendmail 8.10 以降なら /etc/mail/sendmail.cf + といったファイルに Cwyour.host.com という行を加えます. + +