mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Ruby - UNIX MBOX メールヘッダ・Content-Transfer-Encoding属性の検証!

[ プログラミング ] [ Mail, Ruby ]

こんばんは。

今日は Ruby で UNIX MBOX メールデータ中のメールヘッダ「Content-Transfer-Encoding」属性を検証してみました。 以下の過去記事も参照。

この「Content-Transfer-Encoding」属性とは、どのような方法でエンコードされたかを表しているものです。 RFC 2045 に準拠していないといけません。

RFC 2045 によると「Content-Transfer-Encoding」属性に設定できるのは以下のとおり。

  • 7bit
  • 8bit
  • binary
  • quoted-printable
  • base64

“7bit” がデフォルトですので、非設定なら “7bit” が設定されていることになります。

と言うことで、「Content-Transfer-Encoding」属性にどのような割合で設定されているかを Ruby で検証してみました。

参考までに、当方の UNIX MBOX メールデータ(61,665件)を検証した結果を掲載します。 ※だから何?と言われそうですが、自分の近い将来のための記録として掲載していますので、ご承知おきください。

Ruby スクリプトは今までの検証で使用してきたものを流用しています。

使用した正規表現

大文字・小文字は区別しないです。

1
/^(7bit|8bit|binary|quoted-printable|base64)$/i

Content-Transfer-Encoding属性

1メール(ヘッダー部分)に複数設定されることはない属性です。 また、必須で設定されないといけないものでもありません。

1
2
3
4
5
6
7
8
全件数           = 61,665
非設定           = 23,684
7bit             = 36,987
8bit             =    180
binary           =      6
quoted-printable =    554
base64           =    254
Non-Match        =      0

不正なものは1件もありませんでした。


次に「Content-Length」属性を検証してみようかと思いましたが、調べてみるとあまり使われていないようです。 あと、主だったメールヘッダで未調査のものは「Received」「X-Mailer」「Subject」くらいでしょうか。 「Received」は複雑そうなので後回しにして、次回は「X-Mailer」か「Subject」あたりを検証してみようかと考えています。

因みに、前回使用した Ruby スクリプトの流用し続けてきたので、毎回殆どソース改変には労力を伴っていません。

以上。

Comments