ステップ 8: SMTP ドメイン・ネーム解決の使用可能化

SMTP サーバーの RESOLVERUSAGE ステートメントは、ドメイン・ネーム解決が 使用されるかされないかを指示します。ネーム解決が必要ない場合は、RESOLVERUSAGE NO を指定します。ステップ 9: 非ローカル・メッセージの他のメール・サーバーへの送信 を参照してください。

RESOLVERUSAGE ステートメントが指定されないか、あるいは RESOLVERUSAGE YES と指定された場合は、SMTP サーバーがドメイン・ネームを解決します。リゾルバー TCPIP.DATA ステートメントは、SMTP のドメイン・ネーム・レゾリューションが使用できるように なる前に、構成しておく必要があります。TCPIP.DATA ステートメントの指定の方法に 関する説明については、リゾルバー を参照してください。

SMTP RESOLVERUSAGE ステートメントおよび TCPIP.DATA リゾルバー・ステートメントについて詳しくは、「z/OS Communications Server: IP 構成解説書」を参照してください。

ドメイン・ネーム・サーバーを使用するには、1 つ以上のネーム・サーバーの IP アドレスに よって TCPIP.DATA データ・セットを構成します。TCPIP.DATA データ・セットがどのネーム・サーバーも指していない場合、ローカル・サイト・テーブルが SMTP によって使用されます。 ただし、SMTP サーバーがネーム・サーバーを使用するように構成されている場合、SMTP はサイト・テーブルを使用しません。

SMTP サーバーがどの DSN を使用しているかを判別するには、 SEZAINST(SMTPPROC) の OUTPUT ステートメントで 指定されている出力データ・セットの、メッセージ番号 EZA5231I を探します。

SMTP は、ドメイン・ネーム・サーバーを使用するとき、そのドメイン・ネーム・サーバーが接続しようとしているホストの MX レコードをそのサーバーに尋ねます。SMTP は、ホストの MX レコードを検出できない場合、A レコードにリストされている 1 次ホストにだけメールを送達します。MX レコードと A レコードは、ドメイン・ネーム・サーバー・ データベース内にコーディングされます。

MX レコードの背景となる基本的な考え方は、メールをできるだけ近くの最終宛先に送信することです。宛先ホストが、例えば、別の時間帯にあるために現在は非アクティブになっているという場合があります。SMTP はメールを送達するためには同期接続を必要としますが、時間帯が異なるため、2 つのシステムが同時に アクティブになることがまったくない、という可能性があり、その場合には、メールの交換はできません。

MX レコードを使用すると、SMTP サーバーが、最初のホストが使用不可の場合に代替ホストにメールを送達することができます。SMTP は、まず MX レコード・カウントが一番小さいホストにメールを送達しようとします。 そのホストが現在使用可能でなければ、次に小さいカウントのホストに送達を試みます。

例えば、SMTP は USER@BASKET にメールを送信したい場合、MX レコードのネーム・サーバーをチェックし、以下を検索します。

MVS20  BASKET  A
       BASKET  MX  0    MVS20
       BASKET  MX  5    MVS18
       BASKET  MX  10   VMQ

SMTP は、その MX レコードで最もカウントの小さい BASKET にメールを送達します。MVS20 がメールを受信できない場合、SMTP はそれを MVS18 に送達しようとします。MVS18 がメールを受信できない場合は、VMQ に 送達を試みます。いずれのホストもメールが受信できない場合、SMTP はそのメールを保管し、それをキューに入れて後でそれを送達します。そのときにまた、この処理が繰り返されます。

ネーム・サーバーへの MX レコードの詳しい追加方法については、RFC 974 の “Mail Routing and the Domain System” (メール・ルーティングおよびドメイン・システム) を参照してください。

SMTP が特定のホスト名をどのように解決するかについての詳細なトレースを受け取るためには、コンソールで SMSG SMTP TRACE コマンドを発行するか、SMTP カタログ式プロシージャーで SYSTCPT DD ステートメントを使用できます。 また、TCPIP.DATA データ・セットを構成するときに TRACE RESOLVER ステートメントを追加することもできますが、これによって、そのネーム・サーバーを使用する他のすべてのアプリケーションのネーム・レゾリューションもトレースすることになります。コンソール・ログが大きくなり過ぎないようにするには、TRACE RESOLVER ステートメントはデバッグ用にだけ使用するようにしてください。

ドメイン・ネーム・サーバーを変更するために、既にキューに入っているメールをもう一度解決することが必要な場合には、「z/OS Communications Server: IP ユーザーズ・ガイドとコマンド」に記載されているように SMSG SMTP EXPIRE コマンドを使用してください。また、SMSG SMTP コマンドを使用すると、SMTP サーバーのメール送達キューなどの運用統計を照会することもできます。このタスクおよびその他の管理用タスクについては、「z/OS Communications Server: IP ユーザーズ・ガイドとコマンド」に詳しく説明されています。