5.3.4 内部メールサーバの設定

ここでは,次の項目について説明します。

<この項の構成>
(1) 受信メールの受信者情報とヘッダ情報の書き換え
(2) 送信メールのヘッダ情報の書き換え

(1) 受信メールの受信者情報とヘッダ情報の書き換え

受信メールの受信者情報とヘッダ情報について,受信者アドレス(xxx@hitachi.co.jp)のローカルパートから,そのユーザの登録されているサブドメイン付きのアドレス(xxx@smtpgw0.hitachi.co.jp)に書き換えます。

次に,アドレス書き換えルールを定義する方法を示します。

(a) アドレス書き換えルールを定義したDBファイルの生成

サブドメインなしのアドレスをサブドメインありのアドレスに書き換えるアドレス書き換えルールを定義したDBファイル(この例ではToConv.txtとしています。)を生成します。次に設定方法を示します。

  1. このDBファイルには,次のようなアドレス書き換えルールを記述します(サーバAおよびサーバBに登録されている全E-mailアドレスについて記述します)。
     

    [図データ]

     
    注意
    登録するE-mailアドレスは,"ローカルパート<@ドメインパート>"の形式で記述します。
  2. DBファイルを作成したら,次のコマンドを実行します。

    makemap -Nfv hash ToConv < ToConv.txt
    注※
    ここではswitchesとして'N','f','v'を,またmaptypeとして"hash"を指定していますが,各環境で指定可能な設定値については,対応OSのオンラインマニュアルなどで確認してください。
(b) 受信先ドメインの取得ルールを定義したDBファイルの生成

メールの受信先サーバのドメイン名を取得するためのルールを定義したDBファイル(この例ではHostConv.txtとしています。)を生成します。次に設定方法を示します。

  1. このDBファイルには,次のような書き換えルールを記述します(サーバAおよびサーバBに登録されている全E-mailアドレスについて記述します)。
     

    [図データ]

     
    注意
    登録するE-mailアドレスは,"ローカルパート<@ドメインパート>"の形式で記述します。
  2. DBファイルを作成したら,次のコマンドを実行します。

    makemap -Nfv hashHostConv < HostConv.txt
    注※
    ここではswitchesとして'N','f','v'を,またmaptypeとして"hash"を指定していますが,各環境で指定可能な設定値については,対応OSのオンラインマニュアルなどで確認してください。
(c) 受信メールの各サーバへの転送(受信)設定とアドレス書き換えルールの設定

sendmail.cfのルールセット0(S0)で各サーバへ転送(受信)されるように設定します。また,メーラの定義とルールセット29(S29)で,メールの受信者とヘッダ受信者のアドレス書き換えルールを設定します。次に設定方法を示します。

  1. Kコマンドを使用してDBファイルをシンボル(ToConv,HostConv)と関連付けます。

    KToConv hash※1 -fNo sendmail¥ToConv※2
    KHostConv hash※1 -fNo sendmail¥HostConv※2
    注※1
    ここに設定するmaptypeは,makemapコマンド実行時に指定したmaptypeと同じ物を指定してください。
    注※2
    ここには,makemapコマンドにより構築された外部データベースパスを設定してください。
  2. 各サーバへの転送(受信)定義を設定します。
    ルールセット0(S0)にサーバA宛ておよびサーバB宛てのドメインを持つアドレスをそれぞれのサーバに転送(受信)する定義を追加します。ここで,メーラとしてdevsmtpという新しいメーラを定義しておきます。

    R$+<@$j>     $# devsmtp $@ $( HostConv $1<@$2> $) $: $1<@$2>

  3. メーラの定義でメールの受信者とヘッダ受信者のアドレス書き換えルールを設定します。
    sendmail.cfのメーラ定義(sendmail.cf中で先頭が'M'で始まる記述)で,メーラとして[IPC]が設定されているエントリ(Msmtpという定義が[IPC]に割り当てられていた場合は,"smtp"のメーラを使用しているエントリ)を参考にして,devsmtpという新しいメーラを定義します。
    次に例を示します。

    [図データ]

  4. 受信者アドレスを書き換えするためのルールセット29(S29)を定義します。
    アドレスの書き換えにはDBマクロ(ToConv)を使用するよう設定します。

    S29
    R$+<@$+.> $1<@$2>
    R$+<@$+> $: $( ToConv $1<@$2> $)

(2) 送信メールのヘッダ情報の書き換え

送信メールのヘッダ情報について,送信者アドレスのドメインパートをサブドメイン付きのアドレス(xxx@smtpgw0.hitachi.co.jp)から,サブドメインなしのアドレス(xxx@hitachi.co.jp)に書き換えします。

次に,アドレス書き換えルールを定義する方法を示します。

(a) アドレス書き換えルールを定義したDBファイルの生成

サブドメインありのアドレスをサブドメインなしアドレスに書き換えるアドレス書き換えルールを定義したDBファイル(この例ではFromConv.txtとしています。)を生成します。次に設定方法を示します。

  1. このDBファイルには,次のようなアドレス書き換えルールを記述します(サーバAおよびサーバBに登録されている全E-mailアドレスについて記述します)。
     

    [図データ]

     
    注意
    登録するE-mailアドレスは,"ローカルパート<@ドメインパート>"の形式で記述します。
  2. DBファイルを作成したら,次のコマンドを実行します。

    makemap -Nfv hash FromConv < FromConv.txt
    注※
    ここではswitchesとして'N','f','v'を,またmaptypeとして"hash"を指定していますが,各環境で指定可能な設定値については,対応OSのオンラインマニュアルなどで確認してください。

(b) アドレス書き換えルールの定義

sendmail.cfに,ヘッダ送信者についてのアドレス書き換えルールを定義します。次に設定方法を示します。

  1. Kコマンドを使用してDBファイルをシンボル(FromConv)と関連付けます。
    KFromConv hash※1 -fNo sendmail¥FromConv※2
    注※1
    ここに設定するmaptypeは,makemapコマンド実行時に指定したmaptypeと同じ物を指定してください。
    注※2
    ここには,makemapコマンドにより構築された外部データベースパスを設定してください。
  2. ルールセット1(S1)にアドレス書き換えルールを変更します。アドレスの書き換えにはDBマクロ(FromConv)を使用するように設定します。

    S1
    R$+<@$+.> $1<@$2>
    R$+<@$+> $: $( FromConv $1<@$2> $)