aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/books/handbook/mail/chapter.sgml
blob: 7ba5a3e034ded9effefc0783f4f13d5aef8cbb49 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
<!--
     The FreeBSD Documentation Project
     The FreeBSD Japanese Documentation Project

     Original revision: 1.9
     $FreeBSD$
-->

<chapter id="mail">
  <title>電子メール</title>

  <para><emphasis>原作: &a.wlloyd;.</emphasis></para>

  <para><emphasis>訳: &a.jp.mihoko;. 14 January 1997.</emphasis></para>

  <para>電子メールのコンフィグレーションは, 多くの <link
      linkend="bibliography">システム管理</link> の書籍で主題
    として取り上げられています.
    ネットワークに合わせたメールホスト構築の
    範疇を越えるようなことをする のは, 簡単にはいきません.</para>

  <para>電子メールのコンフィグレーションの一部は,
    ドメインネームシステム  (DNS) によって制御されています.
    あなた自身で DNS サーバを 立ち上げたい場合には,
    <filename>/etc/namedb</filename> ファイルを
    あなたのサーバに合うように変更してください.
    さらに詳しい情報が必要な場合には,<command>man -k named</command>
    コマンドを実行してください.</para>

  <sect1>
    <title>基本事項</title>

    <para>電子メール交換の主要なプログラムや構成要素を, 次に示します.
      &ldquo;メールホスト&rdquo;
      はあなたのホストやネットワークに対するすべて
      の電子メールを配送したり受け取ったりするサーバです.</para>

    <sect2>
      <title>ユーザプログラム</title>

      <para>これは, <application>elm</application>,
	<application>pine</application>,
	<application>mail</application> や, より洗練された WWW
	ブラウザ のようなプログラムです. このプログラムは, 単純に
	すべてのメールをローカルメールホスト転送します. この転送は,
	<command>sendmail</command> を呼び出すか,
	&ldquo;メールホスト&rdquo;に対して TCP 上
	の通信を使ってメールを配送するかの
	いずれかによっておこないます.</para>
    </sect2>

    <sect2>
      <title>メールホストサーバデーモン</title>

      <para>通常, このプログラムはバックグラウンドで実行されている
	<command>sendmail</command> または <command>smail</command>
	です. 実行をやめたり,  コマンドライン引数を変更するには,
	<filename>/etc/rc.conf</filename> ファイル (FreeBSD 2.2.2
	より前のバージョンの場合は <filename>/etc/sysconfig</filename>
	ファイル)を編集します.   特別な理由(<link
	  linkend="firewalls">ファイアウォール</link> を
	構築している場合など)がないかぎり,
	実行する設定にしておくべきです.</para>

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

      <para><command>sendmail</command> は, 電子メールの配送,
	受信の二つの仕事をおこないます.</para>

      <para><command>sendmail</command> は,
	サイトの外側へメールを配送する必要が ある場合, DNS
	を参照して配送先のメールを受け取る実際の
	ホストを決定します.</para>

      <para><command>sendmail</command>
	が配送エージェントとして動作する場合は,
	ローカルキューからメッセージを取り出し, 受信側
	コンピュータ上の sendmail
	へインターネットを介して配送します.</para>
    </sect2>

    <sect2>
      <title>DNS &mdash; ネームサービス</title>

      <para>ドメインネームシステムとそのデーモン
	<command>named</command> は, ホストから IP アドレス, および
	ホスト名からメールホストへのマッピングをおこなう
	データベースを持っています. IP アドレスは A
	レコードで定義します. MX レコードでは,
	あなた宛のメールを受け取るメールホストを定義します. もし
	あなたのホスト宛のメールに対する MX
	レコードを持っていない場合には,
	メールはあなたのホストに直接配送されます.</para>

      <para>あなたが自分自身の DNS サーバを実行させていない場合には,
	DNS 上の情報を自分で変更することはできません.
	インターネットプロバイダを使用している場合には,
	プロバイダに依頼して 変更してもらってください.</para>
    </sect2>

    <sect2>
      <title>POP サーバ</title>

      <para>このプログラムはメールボックスからメールを取り出し,
	ブラウザにメールを渡します. POP サーバをあなたのマシン上で
	動かしたい場合には, 次の二つの作業をする必要があります.
      </para>

      <procedure>
	<step>
	  <para>pop ソフトウェアを <ulink
	      URL="../ports/mail.html">ports コレクション</ulink>
	    から入手 します. pop ソフトウェアは,
	    <filename>/usr/ports</filename> または
	    パッケージコレクションにあります. このハンドブックには,
	    <link linkend="ports">ポート</link> システム
	    についての完全な解説のセクションがあります.</para>
	</step>

	<step>
	  <para>POP サーバを起動できるように,
	    <filename>/etc/inetd.conf</filename>
	    ファイルを編集します.</para>
	</step>
      </procedure>

      <para>入手した pop プログラムには説明文が付属していますので,
	それを読んで ください.</para>
    </sect2>
  </sect1>

  <sect1>
    <title>コンフィグレーション</title>

    <sect2>
      <title>基本事項</title>

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

      <itemizedlist>
	<listitem>
	  <para>ネームサーバ (<command>man -k named</command>)
	    を実行し,  あなた自身のドメイン <hostid
	      role="domainname">smallminingco.com</hostid>
	    を定義する.</para>
	</listitem>

	<listitem>
	  <para>あなたのホストに対する現在の DNS
	    名に配送されたメールを受け取る. つまり <hostid
	      role="fqdn">dorm6.ahouse.school.edu</hostid>
	    宛に送られたメールを受け取る.</para>
	</listitem>
      </itemizedlist>

      <para>インターネットへ完全に接続された
	あなたのホストに直接メールが配送される ためには,
	ネームサーバのどのオプションを使用するかは
	あまり重要なことではありません. 大切なのは, あなたが恒久的な
	IP アドレスを持っていなくてはいけないと いうことです.
	ダイナミック PPP で得られる IP アドレスではダメです.
	もしあなたがファイアウォールの内側にいる場合は,
	ファイアウォールが smtp トラフィックを
	あなたのホストに渡すように設定されていなければいけません.
	そのためには, ファイアウォールとなるホストの
	<filename>/etc/services</filename></para>

      <!-- kuriyama - Eng ver of style shuld fix -->
      <programlisting>
smtp	      25/tcp mail         #Simple Mail Transfer</programlisting>

      <para>と書いておきます.
	あなたのホスト上でメールを受けたい場合には, DNS の MX
	エントリが あなたのホストアドレスを指しているか,
	あなたのホストの DNS 名に対して MX エントリが存在しないことを
	確認してください.</para>

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

      <screen>&prompt.root; <userinput>hostname</userinput>
newbsdbox.freebsd.org
&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput>
newbsdbox.freebsd.org has address 204.216.27.xx</screen>

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

      <para>上記のメッセージの代わりに, </para>

      <screen>&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput>
newbsdbox.FreeBSD.org has address 204.216.27.xx
newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org</screen>

      <para>というメッセージが出力された場合は,
	あなたのマシンに直接配送された すべてのメールは,
	<hostid>freefall</hostid>
	上の同じユーザ名に配送されてます.</para>

      <para>この情報は, あなたのドメインネームサーバ上で設定します.
	この設定をおこなうホストは,
	<filename>/etc/resolv.conf</filename>
	にプライマリネームサーバとして
	書いたホストと同じホストであるべきです.</para>

      <para>メールルーティング情報をもつ DNS レコードは,
	メールエクスチェンジャエントリ (MX エントリ) です. MX
	エントリが存在しない場合には, アドレスレコードにしたがって,
	直接宛先ホストに配送されます.</para>

      <para><hostid role="fqdn">freefall.FreeBSD.org</hostid>
	の現時点での MX エントリは, 次のようになっています.</para>

      <programlisting>
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</programlisting>

      <para><hostid>freefall</hostid> は多くの MX
	エントリを持っています. もっとも MX の値が小さいホストが,
	最終的にメールを受け取ります. もし <hostid>freefall</hostid>
	が他の処理で忙しかったり, ダウンしているような場合には,
	他のホストが, 一時的にメールをキューにいれます.</para>

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

      <para><command>dig</command>, <command>nslookup</command><command>host</command> コマンド を使うと,
	とても便利です.</para>
    </sect2>

    <sect2 id="mail-domain">
      <title>あなたのドメイン (ネットワーク) に対するメール設定</title>

      <para>ネットワークメールホストをセットアップするためには,
	すべての
	ワークステーション宛のメールを直接受ける必要があります.
	言いかえれば, <hostid
	  role="domainname">*.smallminingco.com</hostid>
	宛のすべてのメールを ハイジャックし, そのメールをあなたの
	&ldquo;メールホスト&rdquo; である個々のマシンにに配送
	します.</para>

      <para>それらのワークステーション上のネットワークユーザは,
	たいていメールを  POP や telnet 等で受け取ります.</para>

      <para><emphasis>同じユーザ名</emphasis>のユーザアカウントが,
	両方のマシンに存在しなければな りません. 必要ならば,
	アカウントを作成するために <command>adduser</command>
	コマンドを使用してください. <literal>shell</literal><literal>/nonexistant</literal>  に設定すると,
	ユーザはログインできなくなります.</para>

      <para>使用する予定のメールホストは,
	各ワークステーションごとにメール交換が
	できるように設定されていなければなりません. これは, DNS
	(すなわち  BIND や named) の設定が必要です. 詳細は,
	ネットワークの本を参照してください.</para>

      <para>基本的には, 以下の行を DNS サーバに追加する必要があります.
      </para>

      <programlisting>
pc24.smallminingco.com	A	<replaceable>xxx.xxx.xxx.xxx</replaceable>		; Workstation ip
			MX  10	smtp.smallminingco.com	; Your mailhost</programlisting>

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

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

      <para>この機能は, 仮想電子メールホスト (Virtual E-Mail Hosting)
	を実装するために使用されています.</para>

      <para></para>

      <para>foo.bar というドメインを持つ顧客がいて,  foo.bar
	宛のメールをすべて, わたしのマシン  smtp.amalliap.com
	に送りたいと思っています.  このような場合, あなたの DNS
	サーバ上で, 以下のようなエントリを作成
	しなければなりません:</para>

      <programlisting>
foo.bar         MX  10  smtp.smalliap.com       ; your mailhost</programlisting>

      <para>そのドメインに対して電子メールを送りたいだけなら,  A
	レコードは必要ありません. つまり, <filename>foo.bar</filename>
	に対するアドレスレコードが存在しない限り, <command>ping
	  foo.bar</command> コマンドが動作することを期待しては
	いけません</para>

      <para>メールボックスへの最終的な配送が行われる
	メールを実際に受けている メールホスト上では,
	<command>sendmail</command> はメールを受け付けているホストを
	知っている必要があります.</para>

      <para>そのためには, (<literal>FEATURE(use_cw_file)</literal>
	を使用している場合) <filename>/etc/sendmail.cw</filename>
	ファイルに <literal>pc24.smallminingco.com</literal>
	を追加するか,  <filename>/etc/sendmail.cf</filename>
	ファイルに, <literal>Cw myhost.smalliap.com</literal>
	の行を追加してください.</para>

      <para>もしあなたが本気で <command>sendmail</command>
	を使って何かしようと思うなら,  <command>sendmail</command>
	のソースをインストールするべきです.  ソースには,
	たくさんのドキュメントも付いています.  <link
	  linkend="sendmailuucp">UUCP のセットアップ</link> の節に
	<command>sendmail</command> の
	ソースを入手するのに必要な情報が掲載されています.</para>
    </sect2>

    <sect2 id="sendmailuucp">
      <title>UUCP のセットアップ</title>

      <para><emphasis>よくある質問 (FAQ) より抜粋.</emphasis></para>

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

      <para><filename>/etc/sendmail.cf</filename>
	を手動で作成することは, 純正主義者
	がおこなうことだと考えられています. sendmail のバージョン 8
	では, <command>m4</command> プリプロセッサを使用して,
	コンフィグレーションファイルを生成する方法が取られています.
	この場合, 実際に手動で作成したコンフィグレーションは,
	実際のコンフィグレーションより簡潔です.
	以下の場所にあるコンフィグレーションファイルを
	使用してください.
	<filename>/usr/src/usr.sbin/sendmail/cf</filename></para>

      <para>システム上にすべてのソースをインストールして いない場合,
	<command>sendmail</command> の設定ツールは不完全なままであり,
	それは個別のソース配布物の中にあります. CD-ROM
	をマウントしてあれば, 以下のようにします.</para>

      <screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>tar -xvzf /cdrom/dists/src/ssmailcf.aa</userinput></screen>

      <para>驚かないでください.
	これはたった数百キロバイトのサイズのファ  イルです.
	<filename>cf</filename> ディレクトリ上にある
	<filename>README</filename> ファイル には, m4
	コンフィグレーションの基本的な紹介が書かれてい ます.</para>

      <para>UUCP での配送には, <emphasis>mailertable</emphasis>
	機能を使用すること をおすすめします. これは
	<command>sendamil</command> が配送経路を決定するのに
	使用するデータベースファイルです.</para>

      <para>まずはじめに, <filename>.mc</filename>
	ファイルを作成します.
	<filename>/usr/src/usr.sbin/snemdail/cf/cf</filename>
	ディレクトリに これらのファイルを置きます.
	ここには既にいくつかの例が 置いてあるので, 見てください.
	<filename>foo.mc</filename> という名前で作成したと仮定すると,
	それを有効な <filename>sendmail.cf</filename>
	に変換するためには,  まず次のようにします:</para>

      <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
&prompt.root; <userinput>make foo.cf</userinput></screen>

      <para>続いて, もし <filename>/usr/obj</filename>
	以下のディレクトリが存在しなければ:</para>

      <screen>&prompt.root; <userinput>cp foo.cf /etc/sendmail.cf</userinput></screen>

      <para>とし, 存在すれば次のようにします:</para>

      <screen>&prompt.root; <userinput>cp /usr/obj/`pwd`/foo.cf /etc/sendmail.cf</userinput></screen>

      <para>典型的な <filename>.mc</filename>
	ファイルは次のような内容です:</para>

      <programlisting>
include(`../m4/cf.m4')
VERSIONID(`<replaceable>Your version number</replaceable>')
OSTYPE(bsd4.4)

FEATURE(nodns)
FEATURE(nocanonify)
FEATURE(mailertable)

define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>)
define(`UUCP_MAX_SIZE', 200000)

MAILER(local)
MAILER(smtp)
MAILER(uucp)

Cw    <replaceable>your.alias.host.name</replaceable>
Cw    <replaceable>youruucpnodename.UUCP</replaceable></programlisting>

      <para><literal>nodns</literal><literal>nocanonify</literal>
	は, メール配送をおこなう 際に, DNS
	を参照しないようにするための設定です.
	<literal>UUCP_RELAY</literal> は, 必要な設定ですが,
	ここでは理由を 説明できません. その理由について,
	ここでは質問しないでください.  .UUCP
	仮想ドメインアドレスを扱うことができるインターネット
	ホスト名を書いてください.   おそらく, 使用する ISP
	のメール中継ホスト名をそこに記述する ことになります.</para>

      <para>この設定が終了したら,
	<filename>/etc/mailertable</filename> と呼ばれる
	ファイルが必要になります.
	このファイルの典型的な例を示します:</para>

      <programlisting>
#
# makemap hash /etc/mailertable.db &lt; /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</programlisting>

      <para>見て分かるように, これは実際に使用されているファイルの一部
	です. はじめの三行は, ドメインアドレスが指定されたメールが
	デフォルトルートに送信せずに,
	配送パスを&ldquo;短縮&rdquo;して, 隣接  UUCP
	サイトにメールを送るための設定です.  次の行は, メールを SMTP
	を使用して配送されているローカル
	イーサネットドメイン上のマシンに送信するための設定です.
	最後に, UUCP 接続されているドメインが, .UUCP という仮想ド
	メイン表記されている場合です. これは,
	<literal>uucp-neighbor!recipient</literal>
	をデフォルト規則で書換えるため です. 最終行は必ず
	シングルドット (.) を指定します.
	上記のどのパターンにも当てはまらない送信先に対して, あなた
	のメールの世界中へのゲートウェイとして動作してくれる隣接  UUCP
	サイトに, UUCP を使って配送します.
	<literal>uucp-dom:</literal>
	というキーワードの後に書かれたすべての ノード名は, 隣接 UUCP
	サイトでなければなりません.  そのサイトと UUCP
	接続を行っているかどうかは, コマンド
	<command>uuname</command>
	を使用して確かめることができます.</para>

      <para>実際に使用するには, このファイルを DBM データベースファイ
	ルに変換する必要があることを忘れないでください.
	これを実行するためのコマンド 行は,
	<filename>mailertable</filename>
	の先頭にコメントとして記述されています.  通常, このコマンドは,
	<filename>mailertable</filename> を変更するたびに実行しな
	ければなりません.</para>

      <para>最終ヒント: もしいくつかの特定のメール経路が正しく動作する
	かどうかが心配ならば, <command>sendmail</command><option>-bt</option> オプション を覚えておいてください.
	このオプションは <command>sendmail  </command>&ldquo;アドレステストモード&rdquo; で起動します.
	メールの経路をテストするには, <literal>0</literal>
	のあとにメール経路をテスト したいアドレスを入力してください.
	最後の行にあなたが使用する インターネットメールエージェント
	(メール中継プログラム) と,
	このエージェントに呼び出される宛先のホスト名と,
	(翻訳可能な場合) アドレスがが表示されます. このモードを
	終了するには, Control-D を入力します.</para>

      <screen>&prompt.user; <userinput>sendmail -bt</userinput>
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter &lt;ruleset&gt; &lt;address&gt;
<prompt>&gt;</prompt> <userinput>0 foo@interface-business.de</userinput>
rewrite: ruleset  0   input: foo @ interface-business . de
&hellip;
rewrite: ruleset  0 returns: $# uucp-dom $@ if-bus $: foo &lt; @ interface-business . de</screen>
    </sect2>
  </sect1>

  <sect1 id="mailfaq">
    <title>よくある質問 (FAQ)</title>

    <para><emphasis>このセクションは, FAQ
	から移動してきました.</emphasis></para>

    <sect2>
      <title>どうして 同じサイトのホストに対して完全な形のドメイン名
	(FQDN) を使わなければいけないの?</title>

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

      <para>伝統的に, これは BSD BIND リゾルバでは許されていました.
	しかしながら, FreeBSD に付属する現在の
	<application>BIND</application> の バージョンでは,
	自分が属しているドメイン以外では,
	完全な形でないドメイン名に対するデフォルトの省略形は
	使用できません. ですから, 完全でないホスト名
	<hostid>mumble</hostid> は, <hostid
	  role="fqdn">mumble.foo.bar.edu</hostid> として解決されるか,
	ルートドメインに検索しにいくでしょう.</para>

      <para>これは, <hostid role="domainname">mumble.bar.edu</hostid>,
	<hostid role="domainname">mumble.edu</hostid>
	というように検索し続けるような過去の動作とは異なります.
	なぜこれが悪い慣例, さらにはセキュリティーホールと考えられ
	るようになった理由については, RFC1535
	を参照してください.</para>

      <para>この問題を回避するには,

	<programlisting>
search foo.bar.edu bar.edu</programlisting>

	という行を

	<programlisting>
domain foo.bar.edu</programlisting>

	に置き換えます.これを自分のマシン上の
	<filename>/etc/resolv.conf</filename> ファイルに
	記述してください. しかしながら, 検索順序は, RFC 1535 に
	書かれている, &ldquo;ローカル管理と公共の管理の間の境界線&rdquo;
	を越えないことを, あらかじめ確認してください.</para>
    </sect2>

    <sect2>
      <title>Sendmail が <errorname>mail loops back to
	  myself</errorname> というエラーを出します</title>

      <para>これについては, sendmail FAQ の中で, 次のように答えられて
	います:</para>

      <programlisting>
* 次のような 「Local configuration error」というメッセージが出ます:

553 relay.domain.net config error: mail loops back to myself
554 &lt;user@domain.net&gt;... 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 に追加してください. </programlisting>

      <para>sendmail FAQ は,
	<filename>/usr/src/usr.sbin/sendmail</filename> に あります.
	&ldquo;ちょっと凝った&rdquo;メール設定 をしたい場合は, FAQ
	を読むことをおすすめします.</para>
    </sect2>

    <sect2>
      <title>ダイアルアップ PPP
	ホストで電子メールを使うにはどうしたらいいの?</title>

      <para>LAN 上にある FreeBSD マシンを,
	インターネットに接続したいと します. FreeBSD マシンは, その
	LAN でのメールゲートウェイになります. FreeBSD
	マシンは専用線接続ではありません
	(訳注:ダイアルアップ接続など).</para>

      <para>これには, 少なくとも二つの方法があります.</para>

      <para>一つは UUCP を使うことです.</para>

      <para>このとき鍵になるのは, あなたのドメインに対するセカンダリ
	MX サービス
	を提供してくれるインターネットサイトをみつけることです.</para>

      <para>例:</para>

      <programlisting>
bigco.com.	      MX	10	bigco.com.
                      MX        20      smalliap.com.</programlisting>

      <para>最終的なメール受信先としては,
	一つのホストだけが定義されるべきです (bigco.com 上の
	<filename>/etc/sendmail.cf</filename> ファイルに, <literal>Cw
	  bigco.com</literal> を追加します).</para>

      <para>送信側の <command>sendmail</command> が,
	メールを配送しようとしている時, モデムの接続を
	介してあなたのところに接続しようとします.  大抵の場合,
	あなたのマシンがオンラインでないために, 接続はタイムアウト
	してしまうでしょう. <command>sendmail</command> は自動的に,
	メールをセカンダリの MX サイト に
	(あなたのインターネットプロバイダ) に配送します. セカンダリ MX
	サイトは, (<filename>/etc/rc.conf</filename> ファイル に
	<literal>sendmail_flag = "-bd
	  -q15m"</literal>と書かれている場合) 15 分ごとに,
	プライマリ MX サイトにメールを配送しようと,
	あなたのホストに接続しに いきます.</para>

      <para>ログインスクリプトとして,
	このようなものを使うとよいでしょう. </para>

      <programlisting>
#!/bin/sh
# Put me in /usr/local/bin/pppbigco
( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
/usr/sbin/ppp -direct pppbigco</programlisting>

      <para>ユーザごとにログインスクリプトを作りたい場合には, 上記
	のスクリプトの代わりに, <command>sendmail
	  -qRbigco.com</command> を使用する こともできます.
	このようにすると, キューの中の bigco.com に対する
	すべてのメールは, すぐに強制的に処理されます.</para>
      <!-- kuriyama - hostid? -->

      <para>さらに, 次のような改良もできます.</para>

      <para>以下は, freebsd-isp
	メイリングリストから抜粋してきたメッセージです. </para>

      <programlisting>
&gt; 私たちはお客様に対して, セカンダリ MX を提供しています. お客様は一日
&gt; に何回か私たちのサービスに接続し, メールを彼らのプライマリ MX に
&gt; 受け取ります (彼らのドメインに対するメールが到着した時には, 私たちは
&gt; 彼らのサイトを呼び出しません).
&gt; 私たちの sendmail は, 30 分ごとにメールキューに溜っているメールを
&gt; 配送します. ちょうどその時に, すべてのメールがプライマリ MX に送られ
&gt; たかどうかを確かめるためには, 彼らは 30 分は オンラインでいなけれ
&gt; ばなりません.
&gt;
&gt; すべてのメールを今すぐ送るために sendmail を初期化するコマンドはあ
&gt; るでしょうか? もちろん私たちのマシン上には, ユーザはルート (root) 権限
&gt; を持っていません.

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 レコードを定義してください.</programlisting>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../handbook.sgml" "part" "chapter")
     End:
-->