Ruby - UNIX MBOX メールヘッダ・Subjcet属性の検証!
Updated:
今日は Ruby で UNIX MBOX メールデータ中のメールヘッダ「Subjcet」属性を検証してみました。 以下の過去記事も参照。
- Ruby - UNIX MBOXデータ読み込み!
- Ruby - UNIX MBOX メールヘッダ「Date」検証!
- Ruby - UNIX MBOX メールヘッダ「From」検証!
- Ruby - UNIX MBOX メールヘッダ・アドレス系属性の検証!
- Ruby - UNIX MBOX メールヘッダ・Message-ID系属性の検証!
- Ruby - UNIX MBOX メールヘッダ・Mime-Version属性の検証!
- Ruby - UNIX MBOX メールヘッダ・Content-Type属性の検証!
- Ruby - UNIX MBOX メールヘッダ・Content-Transfer-Encoding属性の検証!
- Ruby - UNIX MBOX メールヘッダ・User-Agent, X-Mailer属性の検証!
「Subjcet」属性とは RFC 5322 でルール化されているもので、メールの件名・題名が設定されるものです。 「Subjcet」属性は必ず設定されないといけないものでもないようですが、基本的にメール送信時に自動的に付加されるものです。 件名を指定せずに送信しても、”Subjcet: “は付加されるようです。 RFC 5322 については以下等も参照。
と言うことで、「Subjcet」属性がどのように設定されているのかを Ruby で検証してみました。 実際には、「Subjcet」の行が存在するか、存在する場合「Subjcet」に値が設定されているか、を検証してみました。
参考までに、当方の UNIX MBOX メールデータ(61,665件)を検証した結果を掲載します。 ※だから何?と言われそうですが、自分の近い将来のための記録として掲載していますので、ご承知おきください。
Ruby スクリプトは今までの検証で使用してきたものを流用しています。
使用した正規表現
今回は設定されているかどうかを見るだけなので簡単なものになっています。 (1文字以上の文字が設定されているかどうか)
/^(.+)$/
検証結果
「Subjcet」属性は1メールに複数設定されることはない属性です。 また、必須で設定されないといけないものでもありません。
総件数 | 61,665 |
存在しない | 49 |
存在するが非設定 | 17 |
設定されている | 61,599 |
RFC的には不正ではありませんが、件名がないということでスパムなどチェックは必要になると思います。
次回はメールヘッダで一番キモになる「Received」を検証してみようかと考えています。 手ごわそう。
以上。
Comments