|
既知の問題 No. 857
[電子メール転送] 機能を利用しているユーザ宛のリクエストが利用状況に反映されない

【 現象 】
[電子メール転送] 機能を利用しているユーザ宛のメールが利用状況
の[電子メール]に反映されません。
【 原因 】
本現象は、[電子メール転送] 機能を利用している場合に出力される
/var/log/maillog のログが、利用状況で解析するログの対象になら
ないことに起因して発生しています。
Turbolinux Appliance Server 2.0 では、電子メールサーバとして
sendmail を採用しています。電子メールの利用状況は、sendmail が
出力する /var/log/maillog を Analog で解析できるフォーマットに
変換し、その情報を元に表示しています。
その基本的な動作は以下のようになっています。
1. /var/log/maillog を while 文で1行ずつ読み込み、from=< の
正規表現にマッチした行の情報(message_id、from、size など)
を配列に保持しておきます。
2. 同様にループ処理で to=<.*stat=sent の行にマッチしたとき、
その行の情報(mon, day, time, message_id, to など)を保持し、
その to 行の message_id と同じ message_id を持つ、
from=<(すでに保持している)とのペアから Analog が解析できる
フォーマットに変換を行います。
しかし、[電子メール転送] 機能を利用した場合に sendmail が
/var/log/maillog に出力する to は "<" と ">" で括られません。
以下は [電子メール転送] 機能を利用しているユーザ宛にメールを
送信した際のログの一例です。
------------------------------------------------------------------------
Sep 7 tlas2 sm-mta[18448]: o883GO1T018448: from=<user1@example1.com>,
size=602, class=0, nrcpts=1, msgid=<4C870089.6030006@host.example1.com>,
proto=ESMTP, daemon=MTA, relay=host.example1.com [xxx.xx.xx.xx]
Sep 7 tlas2 sm-mta[18449]: o883GO1T018448: to=user2@example2.com,
delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=60804,
relay=host.example2.com [yyy.yy.yy.yy], dsn=2.0.0, stat=Sent
(Ok: queued as 1D40760EF7)
------------------------------------------------------------------------
to=user2@example2.com が "<" と ">" で括られていないため
to=<.*stat=sent の正規表現にマッチせず、利用状況で解析するログ
の対象とはなりません。また、"< >" で括られていない from 行や
to 行も解析対象となるように正規表現から < を削除してしまうと、
リクエストが正常にカウントされないなど、他の弊害が利用状況に
発生してしまいます。
【 対策 】
Turbolinux Appliance Server 2.0 は、message_id が同じ from=<
と to=<.*stat=sent のログのペアから利用状況に表示される統計を
採取しており、これは Turbolinux Appliance Server 2.0 の仕様と
なります。
メール転送機能を利用しているアドレス宛のリクエストが利用状況
に反映されない件につきましては、誠にご迷惑をお掛けしますが、
制限事項となりますのでご了承ください。

関連文書 (none)
対象製品Turbolinux Appliance Server 2.0
Last modified : Wed Sep 08 JST 2010 # 3
|