Ruby - UNIX MBOX メールヘッダ・アドレス系属性の検証!
Updated:
前回は、UNIX MBOX メールデータ中のヘッダ「From」属性を Ruby で検証してみました。
今回は、同じ Ruby スクリプトを少しだけ改良して、「To」・「Cc」・「Reply-to」・「Sender」・「Return-Path」属性を検証しました。 「To」・「Cc」・「Reply-to」属性は「From」属性同様複数がカンマで区切られて設定される可能性があるもの、「Sender」・「Return-Path」は複数設定はされないもの、です。
Ruby - UNIX MBOX メールヘッダ「From」検証!で紹介した Ruby スクリプトを多少修正すれば対応可能ですので、今回はもう掲載しません。
参考までに、当方の UNIX MBOX メールデータ(61,665件)を検証した結果を掲載します。 それぞれの属性が設定されているか、どのような書式で設定されているか、不正なものはないかを検証しています。
To属性
1メールに複数設定されている可能性がある属性です。
全件数 = 65592
非設定 = 444
"xxxx" <xxx@xxx.xxx> = 906
"" <xxx@xxx.xxx> = 0
xxxx <xxx@xxx.xxx> = 441
<xxx@xxx.xxx> = 7006
"xxxx" <xxx@xxx.xxx> xxxx = 0
"" <xxx@xxx.xxx> xxxx = 0
xxxx <xxx@xxx.xxx> xxxx = 0
<xxx@xxx.xxx> xxxx = 0
xxx@xxx.xxx = 55515
xxx@xxx.xxx xxxx = 1093
マッチしなかったもの = 187
マッチしなかったものは、以下の3種類。
- undisclosed-recipients:; → BCCのみで送信されTOが設定されていないい場合に設定される。
- (○○会員の皆さまへ)
- (△△会員のみなさまへ)
それほど問題にならない。
Cc属性
1メールに複数設定されている可能性がある属性です。
全件数 = 61683
非設定 = 61531
"xxxx" <xxx@xxx.xxx> = 11
"" <xxx@xxx.xxx> = 0
xxxx <xxx@xxx.xxx> = 15
<xxx@xxx.xxx> = 3
"xxxx" <xxx@xxx.xxx> xxxx = 0
"" <xxx@xxx.xxx> xxxx = 0
xxxx <xxx@xxx.xxx> xxxx = 0
<xxx@xxx.xxx> xxxx = 0
xxx@xxx.xxx = 97
xxx@xxx.xxx xxxx = 0
マッチしなかったもの = 26
マッチしなかったものは、以下の1種類だけ。
- recipient list not shown: ; → BCCのみで送信されCCが設定されていないい場合に設定される。
それほど問題にならない。
Reply-to属性
1メールに複数設定されている可能性がある属性です。
全件数 = 61716
非設定 = 35260
"xxxx" <xxx@xxx.xxx> = 833
"" <xxx@xxx.xxx> = 0
xxxx <xxx@xxx.xxx> = 4333
<xxx@xxx.xxx> = 1001
"xxxx" <xxx@xxx.xxx> xxxx = 0
"" <xxx@xxx.xxx> xxxx = 0
xxxx <xxx@xxx.xxx> xxxx = 0
<xxx@xxx.xxx> xxxx = 0
xxx@xxx.xxx = 20284
xxx@xxx.xxx xxxx = 5
マッチしなかったもの = 0
全く問題なし。
Sender属性
1メールに複数設定されることはない属性です。
全件数 = 61665
非設定 = 51470
"xxxx" <xxx@xxx.xxx> = 1
"" <xxx@xxx.xxx> = 0
xxxx <xxx@xxx.xxx> = 31
<xxx@xxx.xxx> = 2
"xxxx" <xxx@xxx.xxx> xxxx = 0
"" <xxx@xxx.xxx> xxxx = 0
xxxx <xxx@xxx.xxx> xxxx = 0
<xxx@xxx.xxx> xxxx = 0
xxx@xxx.xxx = 10161
xxx@xxx.xxx xxxx = 0
マッチしなかったもの = 0
全く問題なし。
Return-Path属性
1メールに複数設定されることはない属性です。
全件数 = 61665
非設定 = 4625
"xxxx" <xxx@xxx.xxx> = 0
"" <xxx@xxx.xxx> = 0
xxxx <xxx@xxx.xxx> = 0
<xxx@xxx.xxx> = 34273
"xxxx" <xxx@xxx.xxx> xxxx = 0
"" <xxx@xxx.xxx> xxxx = 0
xxxx <xxx@xxx.xxx> xxxx = 0
<xxx@xxx.xxx> xxxx = 0
xxx@xxx.xxx = 21196
xxx@xxx.xxx xxxx = 0
マッチしなかったもの = 1571
マッチしなかったものは、以下の1種類だけ。 ・<> 問題なし。
「Date」属性、メールアドレス系の属性と検証が終了したので、次回からはその他の属性の検証に入れると思います。 ちなみに、メールヘッダの属性にはマイナーなものもありますが、今回の一連の作業ではメジャーなものだけを検証していくつもりです。 また、充分な余力・時間があれば、メール本文・添付ファイル等の検証もやってみたいとは考えています。
以上。
Comments