この付録では,sendmail
エラー・メッセージ,およびそれに対するユーザの処置について説明します。
同じホストの別のユーザにメールを送信する場合,または TCP/IP を使用してメールを送信する場合に,これらのメッセージが表示されることがあります。
システムで別のメーラ (DECnet など) が設定されている場合には,メーラ固有のメッセージについてはメーラに付属のマニュアルを参照してください。
次の
sendmail
メッセージが,拒否されたメール・メッセージ内に戻されたり,syslogd
デーモンに送信されることがあります。
binmail: opening /usr/spool/mail/filename
-: Permission denied
説明:
/bin/mail
プログラムがデスティネーション・ホストにメールを配布できませんでした。
/usr/spool/mail
ディレクトリのパーミッションを確認してください。
正しいパーミッションは 1777 です。
メールボックスのパーミッションを確認してください。 正しいパーミッションは 600 です。
メールボックスの所有者が正しく指定されていることを確認してください。
Cannot send message for 3 days
説明:
/var/adm/sendmail/sendmail.cf
ファイルの retry (再試行)
パラメータで指定された期間内に,メッセージが配布されませんでした。
メッセージは発信者に返されます。
考えられる原因は次のとおりです。
デスティネーション・ホストが存在しません。
メールには,社外のホストのアドレスが指定されていましたが,中継ホストが
/var/adm/sendmail/sendmail.cf
ファイルに設定されていませんでした。
ホストがオフラインになっているか,またはネットワーク接続が 3 日間不安定です。
対処:
アドレス情報をすべて確認します。
メールに社外のホストのアドレスを指定した場合,直接の送信ができない可能性があります。
次のコマンドを入力して,sendmail
の構成を確かめます。
# grep '^define(_GateINET' /var/adm/sendmail/ホスト名.m4
アウトプット内の中カッコの中が空(つまりホスト名が含まれていません)の場合は,
sendmail
を再構成して中継ホストを指定します。
中継ホスト名を指定する方法についての詳細は,7.3 節を参照してください。
メッセージを再送信します。 メッセージは,キューに登録され,ホストに到達できるようになると自動的に送信されます。
Connection refused
説明:
sendmail
デーモンがデスティネーション・ホストで実行されていません。
対処:
次のように
ps
コマンドを使用して,
sendmail
が実行されているかどうかを確かめます。
# ps -ax | grep send
実行されていない場合は,システム管理者に
sendmail
のスタートを依頼します。
Connection timed out during user open
説明: 2 つのホスト間の Simple Mail Transfer Protocol (SMTP) セッション中に問題が発生して,タイム・アウトになりました。
対処: 特に必要ありません。 メッセージは後で再送されます。
Host unknown
説明: 考えられる原因は次のとおりです。
ホストのアドレス・レコードが見つかりませんでした。
社外のメール・アドレスを処理できる中継ホストが,
/var/adm/sendmail/sendmail.cf
ファイルに定義されていません。
対処:
使用しているホストで DNS (Domain Name System) が構成されていない場合は,
中継ホストのアドレスが定義されているかどうかを確認します。
アドレスをローカルで解決する場合は,
/etc/hosts
ファイルを確かめます。
また,NIS (Network Information Service) を使用している場合は,
ypmatch
ホスト名host
コマンドを実行します。
svc.conf
ファイルのhostsエントリに,使用されるサービスが定義されています。
中継ホストが定義されていない場合は,システム管理者に問題の解決を依頼します。
次のように
nslookup
コマンドを使用して,ホストに MX レコードがあるかどうかを確かめます。
# nslookup -q=mx ホスト名
レコードが存在する場合は,手順 3 に進みます。
nslookup
コマンドを使用して,アドレス・レコードを確かめます。
アドレスが見つからない場合は,デスティネーション・ドメインの DNSドメイン管理者に,
ホストのアドレス・レコードをデスティネーション・ドメインの DNS データ・ファイルに追加してもらってください。
メールに社外のホストのアドレスを指定した場合,直接の送信ができない可能性があります。
次のコマンドを入力して,sendmail
の構成を確かめます。
# grep '^define(GateINET' /var/adm/sendmail/ホスト名.m4
アウトプット内の中カッコの中が空 (つまりホスト名が含まれていません) の場合は,
sendmail
を再構成して中継ホストを指定します。
メッセージを再送信します。
中継ホスト名を指定する方法についての詳細は,7.3 節を参照してください。
I refuse to talk to myself
説明: ローカル・ホストが,自分自身に接続してメッセージを配布するように要求されました。
対処:
次のコマンドを入力して,sendmail
の構成を確かめます。
# grep '^define(GateINET' /var/adm/sendmail/ホスト名.m4
自分自身のホスト名がアウトプット内のいずれかの行のカッコに含まれている場合は,構成エラーがあります。
sendmail
を再構成します。
詳細については,7.3 節を参照してください。
Remote protocol error
説明:
このメッセージは,通常,syslogd
デーモンによって生成される
mail.log
ファイル内で見つかり,
リモート・ホストとの通信に問題があることを示します。
対処: 特に必要ありません。 メッセージは後で再送されます。
Service unavailable
説明:
これは,2 次的なエラー・メッセージです。
sendmail
にアドレスをアクションと解釈させるような別のエラーが発生しています。
対処:
他のエラー・メッセージ,たとえば
Host unknown
を探し,
最初にそれらを解決します。
他のエラーを解決することによって,このエラーも解決されます。
User unknown/Addressee unknown
説明:
メッセージは,最後のデスティネーションに到達しましたが,最後のデスティネーションで,
ローカルの
aliases
ファイルまたはローカルのパスワード・ファイルに,
ユーザ・アドレスが見つかりませんでした。
対処: ユーザのアドレスが正しいか確認してください。