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