diff --git a/share/doc/ja_JP.EUC/handbook/mail.sgml b/share/doc/ja_JP.EUC/handbook/mail.sgml index 92a29a13a35f..b14950c7f59c 100644 --- a/share/doc/ja_JP.EUC/handbook/mail.sgml +++ b/share/doc/ja_JP.EUC/handbook/mail.sgml @@ -1,5 +1,462 @@ - + - + -*Electronic Mail + + +電子メール +基礎事項 + +

原作: &a.wlloyd;. +

訳: &a.mihoko;9 December 1996. + +

電子メール, というとその概念は簡単そうに聞こえますが, 電子メールは +非常に複雑な仕組みになっています. 1台のマシン上で電子メールシステムを +もしあなたが, あるマシン上で電子 +単純にセットアップする以上のことをしたい場合には, sendmail についての +本を買って参照してください. + + 序章 +

+ 電子メール交換の主要なプログラムや構成要素を, 次に示します. + ユーザプログラム +

これは, sendmail を呼び出すか, メールホストに対して TCP 上 + の通信を使ってメールを配送するかのいずれかによっておこないます. + 転送エージェント - Sendmail +

通常, このプログラムはバックグラウンドで実行されている + /etc/sysconfig ファイルを編集します. + 特別な理由(防火壁-Firewall 上などの 場合)がないかぎり, + そのまま, 実行する設定にしておくべきです. + +

+sendmail は安全なサイト上であっても潜在的にセキュリティ上の +弱点になることを覚えておいてください. +sendmail のいくつかのバージョンでは, セキュリティ上の問題が +知られています. + +

sendmail は, 送信先へのメールを受け取る実際の + ホストを決定するために, DNS を参照します. +

sendmail はローカルキューからメッセージを取り出し, 受け取る + コンピュータ上の sendmail へインターネットを介して配送します. +

また, sendmail はその逆をおこなうこともできます. + つまり, メッセージを受け取って, ローカルマシン上に + メッセージを保管します. + POP サーバ +

このプログラムはメールボックスからメールを取り出し, + ブラウザにメールを渡します. POP サーバをあなたのマシン上で + 動かしたい場合には, 次の二つの作業をする必要があります. + +ports やパッケージから pop ソフトウェアを入手する. +POP サーバをロードするように, /etc/inetd.conf ファイルを編集する. + + +入手した pop プログラムには, 説明文が入っていますので, それを読んで +ください. + +コンフィグレーション +

+あなたのマシンに FreeBSD を普通にインストールすれば, それだけで他の +ホストへ電子メールを送ることができるようになります. +問題は, あなたのホストに戻ってくるようなメールがないことです. +メッセージを送るたびに自動返信アドレスを手 +で編集することを厭わないならば, これは問題にはなりません. +

+同じユーザ名を使用して, 電子メールを他のホストで受け取ることができる +ようにするのは, 比較的簡単です. +この場合は, POP または telnet 経由で電子メールを受け取ることができます. + +「同じユーザ名」のユーザアカウントが, 両方のマシンに存在しなければな +りません. 必要ならば, アカウントを作成するために /nonexistant +に設定すると, ユーザはログインできなくなります. + +使用する予定のメールホストは, あなたのホスト上でメール交換が +できるように設定されていなければなりません. これは, DNS (すなわち +BIND や named) の設定が必要です.詳細は, ネットワークの本を参照してください. + +基本的には, 以下の行を DNS サーバに追加する必要があります. + +myhost.smalliap.com A xxx.xxx.xxx.xxx ; Your ip + MX 10 smtp.smalliap.com ; your mailhost + + +自前で DNS サーバを走らせているのでなければ, この作業は, 自分では +おこなえません.自分で DNS サーバを走らせたくなければ, +インターネットプロバイダ等に依頼して, 作業をおこなってもらってください. + +この作業により, あなたのホスト宛のメールは, +MX (メールエクスチェンジャ) ホストに送られるようになります. +A レコードがどのマシンを指しているかどいうことには関係なく, +メールは MX ホストに送られます. +

+この機能は, 仮想ホストを実装するために使用されています. +

例 +

+わたしは foo.bar というドメインを持つ顧客がいます. わたしは +foo.bar 宛のメールをすべて, わたしのマシン +smtp.amalliap.com に送りたいと思っています. +このような場合, あなたの DNS サーバ上で, 以下のようなエントリを作成 +しなければなりません: + + +myhost.smalliap.com MX 10 smtp.smalliap.com ; your mailhost + + +そのドメインに対して電子メールを送りたいだけなら, +A レコードは必要ありません. + +メールボックスに最終的に配送するためにメールを実際に受けている +メールホスト上では, sendmail がどのホストに対してのメールを受け付けて +いるかを知らせなければなりません. + +

そのためには, (FEATURE(use_cw_file) を使用している場合は) +/etc/sendmail.cw ファイルに myhost.smalliap.com を追加してください. +または, /etc/sendmail.cf ファイルに, "Cw myhost.smalliap.com" の行を +追加してください. + +

あなたのホスト上で実際にメールを受信するためには, +あなたのホストを指すように変更された MX エントリがなければいけません. +また, Cw 行をあなたのマシン上の sendmail.cf に記述しなけれ +ばなりません. + +

+あなたがインターネットに対して永久に接続するのでなければ, これは悪い +考えです. メールは戻ってきてしまうでしょう. + +

+もしあなたが本気で + +よくある質問 (FAQ) + + どうして わたしのサイト上にいるホストに対して完全な形のドメイン名 (FQDN) を使わなければいけないの? +

+ おそらく, そのホストは実際には違うドメインに属しているのでしょう. + 例えば, もしあなたが foo.bar.edu ドメインにいて, + bar.edu ドメインの中の「mumble」というホストに接続したいと + します. その場合あなたは, 「mumble」ではなく + 「mumble.bar.edu」という 完全な形のドメイン名 (FQDN) によっ + てそのホストを参照しなければなりません. +

+ 伝統的に, これは BSD BIND リゾルバでは許されていました. + しかしながら, FreeBSD に載っている現在の BIND の + バージョンでは, あなたが属しているドメイン以外では, + 完全な形でないドメイン名に対するデフォルトの省略形は + 使用されていません. + 適切でないホスト名 mumble は, mumble.foo.bar.edu + としても解決されるべきです. そうしないと, ルートドメインに + 検索をしにいってしまいます. +

+ これは, mumble.bar.edumumble.edu を + 経由して検索し続けるような過去の習慣とは異なります. + なぜこれが悪い慣例, さらにはセキュリティーホールと考えられ + るようになった理由については, RFC1535 を参照してください. +

+ この問題を回避するには, +

+search foo.bar.edu bar.edu +

+ という行を + +

+domain foo.bar.edu + + に置き換えます. + +

+ これをあなたのマシン上の /etc/resolv.conf ファイルに + 記述してください. しかしながら, 検索順序は, RFC 1535 に + 書かれている, 「ローカル管理と公共の管理の間の境界線」 + を越えないことを, あらかじめ確認してください. + + + + Sendmail が ``mail loops back to myself'' という +エラーを出します +

+ これについては, sendmail FAQ の中で, 次のように答えられて + います:- + + * 次のような 「Local configuration error」というメッセージ + が出ます: + + 553 relay.domain.net config error: mail loops back to myself + 554 ... 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 を読むことをおすすめします. + + + UUPC を使ってメール配送をおこなうにはどうしたらいい? + +

+ FreeBSD に載っている sendmail のコンフィグレーションは, + 直接インターネット接続しているサイトに合うように作られてい + ます. メールを UUCP 経由で交換するようにしたい場合には, + 別の sendmail コンフィグレーションファイルをインストールし + なければなりません. + +

+ /etc/sendmail.cf を手動で作成することは, 純正主義者 + がおこなうことだと考えられています. sendmail のバージョン 8 + では, m4 プリプロセッサを使用して, + コンフィグレーションファイルを生成する方法が取られています. + この場合, 実際に手動で作成したコンフィギュレーションは, + 実際のコンフィギュレーションより簡潔です. + 以下の場所にあるコンフィギュレーションファイルを使用してく + ださい. + + + /usr/src/usr.sbin/sendmail/cf + + + システム上にすべてのソースをインストールして + いない場合, sendmail の設定スタッフは, ソースを + tar でまとめてさらにそれを分割してある配布物を, 展開しなければ + なりません. CD-ROM をマウントしてあれば, 以下のようにします. + + + cd /usr/src + 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 に変換するためには, + 次のようにします: + + + cd /usr/src/usr.sbin/sendmail/cf/cf + make foo.cf + cp foo.cf /etc/sendmail.cf + + + 典型的な .mc ファイルは次のような内容です: + + + 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 と呼ばれる + ファイルが必要になります. このファイルの典型的な例を示します: + + + # + # 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 の -bt オプション + を覚えておいてください. このオプションは sendmail + を アドレステストモード で起動します. + メールの経路をテストするには, 0 のあとにメール経路をテスト + したいアドレスを入力してください. 最後の行にあなたが使用する + インターネットメールエージェント (メール中継プログラム) と, + このエージェントに呼び出される宛先のホスト名と, + (翻訳可能な場合) アドレスがが表示されます. このモードを + 終了するには, Control-D を入力します. + + + j@uriah 191% sendmail -bt + ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) + Enter

+ > 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 > + > ^D + j@uriah 192% + + +ダイアルアップ 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/sysconfig ファイル +に 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 + +このようにすると, リモートサイトからのメールが, 顧客のマシンと接続し +ようとせず, 直接あなたがたのホストマシンに配送されるようになります. +ホストマシンに配送されたメールは, 続いて顧客のマシンに送られます. +これはホスト名にのみ有効なので, 顧客のメイルマシンに, +「host.customer.com」とは別に, 「customer.com」も定義する必要があり +ます. DNS 上で, 「customer.com」に対する A レコードを定義してください. + + +