red (www server) に MTA

www@kyoma.org
作業:村田泰洋・高橋共馬
www サーバ red に MTA をインストールする. これは,専らメール発信のためで, メールの受け取りはさせない.

qmail のインストール

blue にはあって red にはない機能は, smtp のうけつけ,apop, imap のうけつけ,ezmlm である. すなわち,qmail の本体のみのインストールとなる. 以下は,blue 用の qmail インストールドキュメントへのリンクで, red に必要な部分のみを抜粋したものである. ただし,制御ファイルテストについては,red 用の 設定・作業をこの下に示した.

制御ファイル

qmail 制御ファイルに設定を書き込む. 制御ファイルは /var/qmail/control/ 以下にあり, その一覧は, http://www.jp.qmail.org/q103/jman5/qmail-control.html

まず,自ホスト名を設定する (詳細は http://www.jp.qmail.org/q103/jinstall/install.ctl.html).

qmail-1.03.tar.gz を展開してできたディレクトリ(qmail-1.03/)に移る.

# ./config

このスクリプトは,ホスト名を DNS 検索する.以下の内容が書き込まれる.

/var/qmail/control/defaultdomain     ep.sci.hokudai.ac.jp
/var/qmail/control/locals            localhost
                                     red.ep.sci.hokudai.ac.jp
/var/qmail/control/me                red.ep.sci.hokudai.ac.jp
/var/qmail/control/plusdomain        ac.jp
/var/qmail/control/rcpthosts         localhost
                                     red.ep.sci.hokudai.ac.jp
smtp 受付をしないので,rcpthosts の内容に関わらず, 外ホストからのメールは受け取らない.

yellow によって,www.ep.sci.hokudai.ac.jp という別名を当てられている場合,

# echo www.ep.sci.hokudai.ac.jp >> /var/qmail/control/locals

更に,デフォルトで,blue にある宛先にメールを送り, 発信アドレスも blue にするために,

# echo ep.sci.hokudai.ac.jp > /var/qmail/control/defaulthost
# chmod 644 /var/qmail/control/defaulthost
とする.blue は ep.sci.hokudai.ac.jp の MX を向けられている.

そのほかに,以下を設定.

# echo 10000000 >> /var/qmail/control/databytes
# chmod 644 /var/qmail/control/databytes
# echo 259200 >> /var/qmail/control/queuelifetime
# chmod 644 /var/qmail/control/queuelifetime

これら制御ファイルの効果は,qmail-showctl コマンド(マニュアルは http://www.jp.qmail.org/q103/jman8/qmail-showctl.html にある)で確認できる.

テスト

以下を行う.この一連のテストは, http://www.jp.qmail.org/q103/jinstall/test.deliver.html を基にしたものである.

ローカル配送テスト1:自分に送ってみる.kyoma は自分のユーザ名に変える.

% echo to: kyoma@red.ep.sci.hokudai.ac.jp | /var/qmail/bin/qmail-inject
~kyoma/Mailbox にメールが送られることを確認.

ローカル配送テスト2:存在しない宛先に送ってみる.

% echo to: nonexistent@red.ep.sci.hokudai.ac.jp | \
/var/qmail/bin/qmail-inject -f kyoma@red.ep.sci.hokudai.ac.jp
バウンスメールが ~kyoma/Mailbox に送られることを確認.

リモート送り出しテスト1:他のホスト上のアカウントへ送ってみる.

% echo to: kyoma | /var/qmail/bin/qmail-inject
kyoma@ep.sci.hokudai.ac.jp にメールが届くことを確認. 届いたメールの From: は kyoma@ep.sci.hokudai.ac.jp になっているか.

リモート送り出しテスト2:他のホスト上の存在しない宛先に送ってみる.

% echo to: nonexistent | /var/qmail/bin/qmail-inject
MAILER-DAEMON@ep.sci.hokudai.ac.jp からの バウンスメールが kyoma@ep.sci.hokudai.ac.jp に送られることを確認.

red におけるメールの発信

qmail では,メールの発信は qmail-inject (マニュアルは http://www.jp.qmail.org/q103/jman8/qmail-inject.html) による.

発信者アドレス(From:)

qmail-inhect を使って普通にメールを発信した場合, 発信者アドレスは,kyoma@ep.sci.hokudai.ac.jp のようになる. これは,ユーザ名をローカル部,/var/qmail/control/defaulthost を ドメイン部としたアドレスである.

From: に入るアドレスを, 他のアドレスとするには,以下のいずれかによる.

  1. 環境変数 QMAILUSER, QMAILHOST を 設定したいアドレスに対応したものにしておく.
  2. qmail-inject に渡すメッセージのヘッダに, From: フィールドを設け,明示する.

宛先アドレス(To:)

また,ドメイン部のない宛先にメールを出した場合, これもまた,/var/qmail/control/defaulthost をドメイン部とする. このため,blue のアドレスあてとなる.

これは,cron デーモンが送るレポートメールにも該当する.

返送先アドレス(Return-Path:)

外ホストに送ってバウンスしたときなど, 配送不能メッセージが戻ってくる先がこれである.

これも From: と同様,ユーザ名をローカル部,/var/qmail/control/defaulthost を ドメイン部としたアドレスとなる.

Return-Path: に入るアドレスを, 他のアドレスとするには,以下のいずれかによる.

  1. 環境変数 QMAILSUSER と QMAILSHOST を 設定したいアドレスに対応したものにしておく.
  2. qmail-inject を, qmail-inject -f kyoma@cosmos.sci.hokudai.ac.jp のように -f オプションを付けて起動.