配送時の詳細ログ(senderlog)の仕様とログの長/短出力設定

配送時の詳細ログ(senderlog)の仕様について、E-Postシリーズ製品の「ヘルプ」「ユーザーズガイド」、書籍・Webでの『完全ガイド』、「導入後の製品FAQ」などいずれも配送時の詳細ログ(senderlog)は、「内部ドメインや外部ドメインの配送動作の詳細記録である」旨の記載がされておりますが、実際には内部ドメインどうしの配送動作について、デフォルトの出力設定(短い出力設定)ではほとんど記録されません。結果的に、弊社製品ドキュメント類の記述が実際の仕様に合わせた記載になっておりませんでした。
内部ドメインどうしの送信記録を取りたいときには、SMTPローカル送信ログ(outlocallog)を取得してください。
ちなみに、レジストリを変更することにより、senderlog を長めの出力設定した時に送信先だけが記録されます。正しい働きと仕様は下記の通りです。
  1. senderlogはセッションが張られたときのプロトコルベースの記録であること

  2. 配送時の詳細ログ(senderlog)は、基本としてセッションが張られたときのプロトコルベースの記録です。
    セッションが張られたときの記録であることから、外部ドメイン宛の送信は常に、DNSやhostsを参照して名前解決し、セッションを張って通信が行われますので、すべての記録がされます。
    それに対し、内部ドメインどうしの単純な送信は、E-Postシリーズ製品では、セッションを張らず、プログラム内部でファイルコピーの動作を行って高速に処理されています。そのため、そのようなケースでは、senderlog にはその動作内容はほとんど記録されません。

    (1) デフォルトの短い出力設定 "Sender2logEnabled = 1" のとき(※1)
    レジストリを特に変更しないときは、下記(※1)のようにデフォルトの短い出力設定になっています。
    このとき、内部ドメインどうしの単純な送信はファイルコピーの動作処理が行われるため、原則として記録されません。該当のメッセージIDだけが記録として残るだけで、内部ドメインの送信元・送信先ともに記録されません。
    一方、自動転送の設定時に転送先が内部ドメインであったときにはセッションが張られるため、送信元・転送先の記録が残ります。また、メーリングリストのメンバーとして内部ドメインのメンバーを加えている場合には、記録は残りません。

    (2) 長い出力設定 "SenderlogEnabled = 1" のとき(※2)
    レジストリを変更し、下記(※2)のように長い出力設定に変更した場合、内部ドメインどうしの単純な送信はファイルコピーの動作処理が行われるため、内部ドメインの送信元の記録はされません。ただし、送信先については、ファイルコピーがされた結果による"SendLocalMail"のトークン部分で記録が残ります。
    [例]
    [13:27:37:066] [B0000123123]:SendLocalMail:domain=user@company.jp
    一方、自動転送の設定時に転送先が内部ドメインであったときには、セッションが張られるため、記録として送信元・送信先・転送先すべての記録が残ります。また、メーリングリストのメンバーとして内部ドメインのメンバーを加えている場合には、記録が残ります。


    (※1)デフォルトの短い出力設定
    HKEY_LOCAL_MACHINE
     -> SYSTEM
      -> CurrentControlSet
       -> Services
        -> EPSTDS
         -> Sender2logEnabled = 1 (DWORD Default 1)

    (※2)レジストリを変更、キーを作成して値を設定して、長い出力設定に変更
    HKEY_LOCAL_MACHINE
     -> SYSTEM
      -> CurrentControlSet
       -> Services
        -> EPSTDS
         -> SenderlogEnabled = 1 (DWORD Default 0)
         -> Sender2logEnabled = 0 (DWORD Default 1)


  3. senderlogを長い出力設定をしたときの記録について

  4. 上記の言い換えになりますが、レジストリを変更することによって、senderlogの長い出力設定をしたときでも、内部ドメインどうしの単純な送信は、セッションが張られないために、完全な記録はされないことになります。

  5. 内部ドメイン(ローカル)どうしの送信記録について

  6. 内部ドメイン(ローカル)どうしの送信記録については、自動転送やメーリングリストのケースを除いては、原則としてセッションが張られないため、senderlog にはすべてが記録されません。
    内部ドメイン(ローカル)どうしの送信記録を取るには、SMTPローカル送信ログ(outlocallog)を取得し参照してください。SMTPローカル送信ログ(outlocallog)の書式は、基本ログのSMTP送信ログ(outlog)と同じです。
(関連FAQ)
SMTP ローカル送信ログ(outlocallog)について