doc/ja/handbook/mail/chapter.sgml
1999-04-08 15:46:01 +00:00

692 lines
25 KiB
Text

<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.8
$Id: chapter.sgml,v 1.1.1.1 1999-04-08 15:45:58 kuriyama Exp $
-->
<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:
-->