Ruby - UNIX MBOX ヘッダFrom行検証!
Updated:
今日は、もう一つ UNIX MBOX メールデータのヘッダの検証を行いました。 (検証には Ruby を使用していますが、ソースまでは公開していませんのであしからず)
今までも、何度かヘッダのフィールド毎に検証したり、どんなヘッダで成り立っているのかを検証したりしてきました。 当ブログの過去約1ヶ月の “UNIX MBOX” 関連の記事等もご参照ください。
今回検証したのは、ヘッダの中でも1行目の “From “ (最初の5文字が “From” + 半角スペース1個)で始まる行についてです。
この行は他のヘッダフィールドと違い、各メールの分割を表すために使用するものです。 1行目以外のヘッダの “From:” とは違います。
1行目の “From “ は大抵の場合、以下のように “From “ の後ろに差出人のメールアドレスと送信日時が記録されているようです。
From hogehoge@hoge.com Fri Aug 07 20:41:58 2009
但し、この書式が RFC に準拠したものでなければならないかどうかは調べてもよくわかりませんでした。
当方で検証したのは、ヘッダ1行目の “From “ で始まる行がどんな書式で設定されているのかです。
参考までに、以下に当方の 61,665 件のメールデータで検証した結果を載せておきます。 (個人の記録です。あしからず)
検証結果
ちなみに、書式は “Date” フィールドのような RFC 形式の書式ではなく、
Fri Aug 07 20:41:58 2009
のような書式のようです。
書式 | 件数 |
---|---|
メールアドレス + 備考 + 日時 | 6,594 |
メールアドレス + 日時 | 32,319 |
メールアドレス複数 + 日時 | 13 |
メールアドレスが "-" でその後ろに日時 | 22,735 |
メールアドレスが無しで日時のみ | 2 |
メールアドレス 非マッチ | 2 |
日時が不正な書式のものはありませんでした。 (但し、妥当な日付かどうかのチェックはしていません) また、厳密にチェックはしていませんが、メールアドレスが設定されているものは “From” フィールド(1行目以外のヘッダ)のアドレスと同一のようです。
この “From “ で始まる行は単なる複数メールの区切りの役割をしているだけです。極端に言えば、メールアドレスや二日時が無く “From “ だけでも OK です。 メールの内容として本当に重要なのは、2行目以降です。
とりあえず今回は、1行目の “From “ で始まる行がどうなっているのかを知りたかったので、検証してみた次第です。
最後にもう一度。 今回の “From “ で始まる行とは、メールヘッダの1行目のことです。 決して、2行目以降に出現する “From” フィールドのことではありません。
以上。
Comments