戻る
list /var/log/messages ver 02 : 0008
/var/log/messages の sendmail に 関係する 内容を 見てゆくのであるが
いかんせん 知識が皆無であることより 一度作成というか 盗んだ ものを 参考
に 再度 表を作成しました 当然これも 盗んで来たものですが 何か無いと 始ま
らない 当然 元のものを 改悪したものですので 悪魔で参考です。
Log format for /var/log/messages ver. 02
Sym |
Meaning 意味するもの |
arg1= |
check_ルールセットの 引数
sendmail が check_ルールセット を 実行して
ルールセットが メッセージを拒否した場合
... ruleset=rurle-set-name , arg1=firstarg, discard
... ruleset=rurle-set-name , arg1=firstarg, reject=reason
rurle-set-name は 呼び出されたルールセットの
名前
firstarg は ルールセットに渡されたワークスペー
ス
引数 は ワークスペース内に 複数有る場合 は arg2= ... の様に 追加される
ワークスペース内での 区切りは $| で 区切られる
メッセージが 拒否されると その理由が 元のエンベロープ発信者に返される
その理由は reject=reason に 記載される
|
bodytype= |
メッセージ本文のタイプ
8BITMIME ,7BIT 又は未定義 定義されていれば
...bodytype=8BITMIME のようなものが エンベロープ発信者の 所に現れる
あまり 見た事はない
|
class= |
Precedence:ヘッダの値
何か優先順位を付けるようであるが
Precedence:ヘッダが無い 場合は 零に なる
class=0 しか 見ないようです 以下の 項目で 検索すれば良いかもしれません
Pspecial-delivery=100; Pfirst-class=0; Plist=-30; Pjunk=-60; Pbulk=-200
|
ctladdr= |
制御ユーザー
sendmail が 受信者のレコードを 記録する時 制御ユーザーが 存在すれば
その IDを 追加する 条件として ファイルに配信、 プログラムを通して配信
一例
...ctladdr=<nyanco@nyantarou.cat.kingdom> (1001/100)
これは ユーザー nyanco の uid 1001 gid 100 というように なっています
# cat /etc/passwd | grep nyanco
nyanco:x:1001:100:,,,:/home/umail/nyanco:/bin/false
nyanco の 属する グループは users ですので
# cat /etc/group | grep users
users::100:games
|
daemon= |
発信者のデーモンの名前
メッセージの発信者のレコードを記録する時その処理をしたデーモンの 名前を
追加する そのなまえは sendmail.cf の 以下の 場所にて決められている
一例 sendmail.cf の 抜粋
# SMTP daemon options
O DaemonPortOptions=Name=MTA
log の 表示例
...,daemon=MTA,...
|
delay= |
配信の総所要時間
最初にメッセージを受信してから 最終的に 配信するか 諦めて返送するまで
直ちに配信されない場合も有る /var/spool/mqueue/に 保存されている
期間も含めて 要するに かかった 時間の 総計 様式は
delay=DD+HH:MM:SS
HH 時間
MM 分
SS 秒
24時間以上の場合 は DD+ で 日数が 追記される
delay=00:00:01 の 場合は 1秒
delay=3+01:02:03 の 場合は 三日と 1時間2分3秒 かかった
受信者に対する出力のみに現れる
|
dsn= |
DSN ステイタスコード cf Enhanced Mail System Status Codes
http://rfc.net/rfc3463.html に 依る事 註
DNS : Domain Name System では 無い
メッセージ返送時 DSN を使用して 問題をエンベロープ発信者に通知
一例
dsn=2.0.0 これは成功した場合
2.XXX.XXX Success See rfc3463
4.XXX.XXX Persistent Transient Failure See rfc3463
5.XXX.XXX Permanent Failure See rfc3463
cf rfc 1891 SMTP Delivery Status Notifications
cf rfc 1893 Enhanced Mail System Status Codes
|
from= |
エンベロープの発信者
from=<nyantarou@cat.neco.jp>
通常は 上記のようですが 場合に依っては postmasterや
マクロ $n 唯の < > 何かになる場合も有る
|
intvl= |
不正なスケジュール間隔 本件 項目のみ |
len= |
長すぎた ヘッダーの長さ 本件 項目のみ |
mailer= |
使用した配信エージェント
-d0.15 デバッグオプション で の 出力の 抜粋の その又一部分
アドレステストモードの =M でも 見れるようです
mailer 0 (prog)
mailer 3 (local)
mailer 4 (smtp)
mailer 5 (esmtp)
表示例 ほとんどの 場合が esmtp に なると思うが
mailer=esmtp
受信者に対する出力に 現れる
|
msgid= |
Message-ID:ヘッダーの ID 一意的な値
sendmail.cf に於いて は 以下のように なっている
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>
アドレステストモードでは
> $j
nyanco.catland.kingdom
> $i
k8KCSwO6000450
> $t
Undefined これは これで良いのだろうか?
一例 と その時間と思われる組合せ
msgid=<20060911.121201.41628921.nyan@nyanco.catland.kingdom>
Sep 11 12:12:03
msgid=<20060911.111328.74754484.nyan@nyanco.catland.kingdom>
Sep 11 11:13:30
msgid=<200609110400.k8B3xvqK014530@nyanco.catland.kingdom>
Sep 11 13:00:00
msgid=<20060911.212353.74751792.nyan@nyanco.catland.kingdom>
Sep 11 21:23:53
発信者に対する出力のみ現れる
|
nrcpts= |
受信者の数
発信者に対する出力のみに現れる その場合でも最初に処理される場合のみ
相手が一名でも alias が 有れば それだけ 多くなる
user1 宛で user1 が dareka sorewo の様に alias が なっていれば 2名 になる
|
ntries= |
配信の試行回数
受信者のレコードに現れるのであるが
LogLevel オプションに より 現れない 場合が有る
10以上でないと 現れない ::素人にとっては 見た 記憶がない
|
pri= |
初期の優先度
受信者に 現れる V8.10 sendmail より to=<nanntoka@kanntoka.japan> の場所
当然 送信状態で 変化する (キュー より 送信する毎に 異なる)
表示例
pri=30562
pri=120432
|
proto= |
配信に使用した プロトコル
メールメッセージを受信した際に用いた プロトコルの 値
マクロ $r に 保持される 値が無い場合は省略される
表示例 単に一例ですよ 分類としては 良いとは言えないが
proto=SMTP : ezweb 携帯
proto=ESMTP : odn ADSL
|
reject= |
メッセージが拒否された理由
sendmail が check_ルールセット 何ぞを実行し、そのルールセットが
メッセージを 拒否した場合 以下のような log を 残す
... ruleset=rset , arg1=firstarg , reject=reason
rset check_mail : check_rcpt 等
firstarg : arg1=<eric.vip@msa.hinet.net>
これは ルールセットに渡されたワークスペース て 言われてるが
ほとんどが メールアドレス形 の 様に 思われる
表示例 本当の 形では無い 抜粋の 抜粋
ruleset=check_mail, arg1=<cyvg@pdndpy.com>, ...
reject=553 5.1.8 <cyvg@pdndpy.com>...
Domain of sender address cyvg@pdndpy.com does not exist
ruleset=check_rcpt, arg1=<eric.vip@msa.hinet.net>,...
reject=550 5.7.1 <eric.vip@msa.hinet.net>... Relaying denied
|
relay= |
メッセージを送信または 受信した ホスト
デーモン動作してる時接続してきた ユーザーとホストの本当のIDを
検索しようとする その結果は マクロ $_ に保存される
メールを他のホストに送信する時それらのホストの MXレコードを検索
MXレコードが 見付かれば MXレコードが指示するホストに接続
見付からないと A または AAAAアドレスに接続する
相手となる 受信、送信ホストの名前の後に A 又は AAAAアドレスが 有れば 表示する
実際にメッセージを受信、送信したホストを 表す
表示例 形式の参考例 実際の ものとは異なる 同じ相手に 送信しても 受け取る
相手先の 名前は異なる場合が ある 以下は 相手も異なる場合も 会わせて表示
relay=nmoPF23.gxezweb.ne.jp.out [1219.2125.3149.4153]
relay=lsean.gxezweb.ne.jp.out [1222.215.369.4195]
relay=mfep9.hxodn.ne.jp.out [1143.290.3131.4187]
relay=smtp.hxodn.ne.jp.out [1143.290.3131.4167]
relay=mfgw1.hxocn.ad.jp.out [160.237.340.46]
relay=mfep3.hxodn.ne.jp.out [1143.290.3131.4181]
|
ruleset= |
check_ルールセット
実行する ルールセット
check_relay check_rcpt 等
表示例 抜粋の 抜粋
ruleset=check_mail, arg1=<abcdef@nancamail.fom> ...reject=553 5.1.8...
ruleset=check_rcpt, arg1=<ghijkl@konnamail.gom> ...reject=550 5.7.1...
|
size= |
メッセージのサイズ
発信者のみに現れる
単位は バイト数 (行末文字含む)
sendmail が ヘッダーの追加削除を行う前
サイトを 経由して中継される場合は 増加する
|
stat= |
配信の状態
受信者に対する出力に現れる
stat=queued キューに 入った場合
stat=Sent stat=Sent (xxxx Message accepted for delivery)
stat=Sent ローカルの場合
stat=User unknown 配信エラーの例
表示例
stat=Sent (ok 1153956781 qp 13796 by mail.telewavelinks.net.ppy)
stat=Sent (Ok: queued as DAEC480020)
stat=Sent (Message received:\
20060911122354729.GTHR.423416.t-mta9.odn.ne.jp@mta9.odn.ne.jp.qqy)
stat=Sent (Message received: \
20060910145159562.YAWN.423416.t-mta9.odn.ne.jp@mta9.odn.ne.jp.qqy)
|
to= |
最終的な受信者
其々の受信者 配信、延期、配信エラー に依る返送が行われる毎に
その受信者アドレスを含む情報の log として現れる
ローカルホストから見た(エイリアス展開等を行われた)
最終的な受信者のアドレス
表示例
to=<jhqytm@goldpar.odn.ne.jp.esp>
to=<rural-space@welfer.ocn.ne.jp.super>
to=<lunex@3-rt.com.spain>
|
xdelay= |
該当のアドレスへの配信処理の遅延
xdelay=HH:MM:SS は 時間:HH 分:MM 秒:SS で 表される
現時点での処理全体に要した時間
最終的にメッセージの配信に成功するまでの所要時間
または一時的なエラーの為にメッセージを延期させるまでの所要時間
参考例 を 以下にします
|
|
|
|
送信例
主に ”xdelay=”と ”delay=” に ついて 下記の例はあるメールメッセージの
送られた 過程を示している 適当に削除し 改行もしています。
Jul 27 18:34:45 nyan sendmail[12975]: k6R9Yj0X012975:
from=<kotori@nyan.catland.kingdom>, size=1612, class=0, nrcpts=1,
msgid=<20060727.183445.71087126.kotori@nyan.catland.kingdom>,
proto=ESMTP, daemon=MTA, relay=user@neco.catcat.sq.yn [192.123.45.67]
Jul 27 18:39:46 nyan sendmail[12977]: k6R9Yj0X012975:
timeout waiting for input from smtp.okn.espania.cx. during client greeting
Jul 27 18:39:46 nyan sendmail[12977]: k6R9Yj0X012975:
to=<sisyou@gold.okn.espania.cx>,
ctladdr=<kotori@nyan.catland.kingdom> (1001/100),
delay=00:05:01, xdelay=00:05:00, mailer=esmtp, pri=121612,
relay=smtp.okn.espania.cx. [3143.490.5131.6167],
dsn=4.0.0,
stat=Deferred: Connection timed out with smtp.okn.espania.cx.
Jul 27 18:46:57 nyan sendmail[12993]: k6R9Yj0X012975:
timeout waiting for input from smtp.okn.espania.cx. during client greeting
Jul 27 18:46:57 nyan sendmail[12993]: k6R9Yj0X012975:
to=<sisyou@gold.okn.espania.cx>,
ctladdr=<kotori@nyan.catland.kingdom> (1001/100),
delay=00:12:12, xdelay=00:05:00, mailer=esmtp, pri=211612,
relay=smtp.okn.espania.cx. [3143.490.5131.6167],
dsn=4.0.0,
stat=Deferred: Connection timed out with smtp.okn.espania.cx.
Jul 27 19:01:57 nyan sendmail[12997]: k6R9Yj0X012975:
timeout waiting for input from smtp.okn.espania.cx. during client greeting
Jul 27 19:01:57 nyan sendmail[12997]: k6R9Yj0X012975:
to=<sisyou@gold.okn.espania.cx>,
ctladdr=<kotori@nyan.catland.kingdom> (1001/100),
delay=00:27:12, xdelay=00:05:00, mailer=esmtp, pri=301612,
relay=smtp.okn.espania.cx. [3143.490.5131.6167],
dsn=4.0.0,
stat=Deferred: Connection timed out with smtp.okn.espania.cx.
Jul 27 19:12:56 nyan sendmail[13002]: k6R9Yj0X012975:
to=<sisyou@gold.okn.espania.cx>,
ctladdr=<kotori@nyan.catland.kingdom> (1001/100),
delay=00:38:11, xdelay=00:00:59, mailer=esmtp, pri=391612,
relay=smtp.okn.espania.cx. [3143.490.5131.6167],
dsn=2.0.0,
stat=Sent
(Message received: 20060727101251333.SPIV.152886.t-mta5.okn.espania.cx@mta5.okn.espania.cx)
独断と偏見の 解釈
これらから 判明する事は 何らかの 事態で メール送信までに かなりの時間
を要していると 言う事です
delay=00:38:11 から総計 約 38分 かかった
xdelay=00:05:00 から 約5分経つと 一度接続を諦める 様です
送られない場合の 状況は
dsn=4.0.0
http://rfc.net/rfc3463.html
4.XXX.XXX Persistent Transient Failure
A persistent transient failure is one in which the message as
sent is valid, but persistence of some temporary condition has
caused abandonment or delay of attempts to send the message.
If this code accompanies a delivery failure report, sending in
the future may be successful.
諸般の理由により一時的に 送れないが上手くゆけば将来配送に成功するやもしれません という所でしょうか、また
stat=Deferred: Connection timed out with smtp.okn.espania.cx.
の様に”dsn=”と ”stat=”で 状況が表示されています。
最終段階で 送信された所を 見ると
delay=00:38:11
xdelay=00:00:59
dsn=2.0.0
stat=Sent
(Message received: 20060727101251333.SPIV.152886.\
t-mta5.okn.espania.cx@mta5.okn.espania.cx)
”relay=”に 注目すれば 送られようが 送られまいが 相手として 交渉を して
いると云うことです 此の場合は 下記の サーバー に 対して 何回か やり取り
を行っていると 言う事です
relay=smtp.okn.espania.cx. [3143.490.5131.6167]
sendmail の pid と k6R9Yj0X012975 に 注目す
ると 最初に決められた pid を 含む k6R9Yj0X012975は 送信完了まで一貫して 変更は無い
が sendmail が 配送を 試みる毎に 当然 pid 番号は 異なっているという点を
見る事が 出来ます。
一番最初の時点の sendmail の pid は 12975で
あり それは k6R9Yj0X012975に 含まれていると
云うことです これは又
msgid=<20060727.183445.71087126.kotori@nyan.catland.kingdom> とも 異
なるので 注意が必要です。 にゃんたろうは 混乱しています。
参考に なるだろうか
table の 練習中です
戻る
にゃんたろう 拝!
2006年 9月21日 (木) 23:32:18 JST 作成
Copyright © 2004.-2007.
nyantarou
All Rights Reserved.