FreeBSD ハンドブック : 電子メール : よくある質問 (FAQ) : さらに進んだ話題
Previous: Sendmail が ``mail loops back to myself'' というエラーを出します
Next: 開発の最前線: FreeBSD-current と FreeBSD-stable

16.3.3. ダイアルアップ 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 に対する すべてのメールは, すぐに強制的に処理されます.

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

以下は, 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 レコードを定義してください.


FreeBSD ハンドブック : 電子メール : よくある質問 (FAQ) : さらに進んだ話題
Previous: Sendmail が ``mail loops back to myself'' というエラーを出します
Next: 開発の最前線: FreeBSD-current と FreeBSD-stable