この節では、メールサービスの問題解決に使用できるヒントとツールをいくつか示します。
別名と受信者にメールを配信できるかどうかを調べるには、次のようにします。
このコマンドは別名を表示し、最終アドレスが配信可能かどうかを識別します。
次に出力例を示します。
% /usr/lib/sendmail -v -bv shamira@raks shamira... aliased to mwong mwong... aliased to shamira@raks shamira@raks... deliverable % |
ローカルとドメイン全体で有効な別名を両方使用するときには、ループしたりデータベースの一貫性が失われたりしないように十分に注意する必要があります。ユーザーをあるシステムから別のシステムに移動するときは、別名のループを作成しないように特に注意してください。
/usr/lib/sendmail -bt と入力して Return キーを押します。
情報が表示されます。
最後のプロンプト (>) で、3,0 とテストしたいメールアドレスを入力します。
Control-d を入力してセッションを終了します。
次に出力例を示します。
% /usr/lib/sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > 3,0 shimara@raks rewrite: ruleset 3 input: shimara @ raks rewrite: ruleset 6 input: shimara <@ raks> rewrite: ruleset 6 returns: shimara <@ raks> rewrite: ruleset 3 returns: shimara <@ raks> rewrite: ruleset 0 input: shimara <@ raks> rewrite: ruleset 9 input: shimara <@ raks> rewrite: ruleset 9 returns: shimara <@ raks> rewrite: ruleset 0 returns: $# ether $# mailhost $: shimara < @ raks > >
診断情報の詳細は、第 3 章「sendmail 構成ファイルのカスタマイズ」を参照してください。
他のシステムへの接続を調べるには、mconnect プログラムを使用してネットワーク上のその他の sendmail システムへの接続をオープンします。mconnect プログラムは対話方式で動作します。さまざまな診断コマンドを実行できます。詳細は、mconnect(1) のマニュアルページを参照してください。次の例では、ユーザー名 shamira へのメールが配信可能かどうかを調べます。
$ mconnect raks connecting to host raks (129.144.52.96), port 25 connection open 220 raks.Eng.Sun.COM Sendmail SMI-8.6/SMI-SVR4 ready at Tue, 25 Jul 1995 10:45:28 -0700 vrfy shamira 250 Michael Wong <shamira@raks.Eng.Sun.COM> > |
mconnect を使用して SMTP ポートに接続できない場合は、次の条件をチェックしてください。
システム負荷が高すぎないか
sendmail デーモンが動作しているか
システムに適切な /etc/mail/sendmail.cf ファイルがあるか
ポート 25 (sendmail が使用するポート) がアクティブであるか
その他の診断情報については、次の情報源をチェックしてください。
メッセージのヘッダーの received 行を調べます。これらの行は、メッセージがリレーされるときにとった経路を追跡できます。UUCP ネットワークでは、多くのサイトがこれらの行を更新せず、またインターネットでは、行がしばしば再編成されるので注意してください。これらを適切に処理するには、各行の日時を調べてください。時間帯の違いを考慮するのを忘れないでください。
ワークステーショングループの配信上の問題を記録するシステムログをチェックします。sendmail プログラムは常に、処理の内容をシステムログに記録します。crontab ファイルを修正してシェルスクリプトを夜間に実行できます。これは、ログから SYSERR メッセージのログを検索し、見つかったものをポストマスタに送信します。