HeaderFieldとその下位クラス
ヘッダフィールドは種類によって対応するクラスが違います。例えば、
To: ヘッダは MaddrH クラスです。
ただし、生成するときはすべてHeaderField.newで生成できるので、HeaderFieldの
下位クラスのnewを明示的に呼ぶ必要はありません。
スーパークラス
Object
クラスメソッド
- new( fname: String, fbody: String ) : HeaderField
-
新しいヘッダフィールドを返します。fnameはフィールド名、fbodyはフィールドボディ、
parserはメールパーサです。
fnameによって、様々なクラスを生成します。
メソッド
- name : String
-
フィールド名です。あらかじめdupしてから渡されるので、
h = HeaderField.new("To","aamine@softica.or.jp")
h.name.replace('From')
…などという邪悪なことはできません。
- to_s( sep = "\n " ): String
-
ヘッダ全体をエンコードした文字列を返します。おりかえしが必要なときは
sepを間にはさみます。
- inspect : String
-
ヘッダ全体をデコードした文字列を返します。
- body : String
-
デコードしたヘッダボディを返します。
StringHクラス
スーパークラス
HeaderField
対応ヘッダ
- Subject:
- Comments:
- Content-Description
メソッド
- body, body=( str: String )
-
フィールドボディです。
StructHクラス
'Struct'ヘッダを表す抽象クラスです。実体化してはいけません。
スーパークラス
HeaderField
メソッド
- comments
-
コメント(かっこにかこまれている部分)の配列を返します。
UnknownHクラス
スーパークラス
StructH
対応ヘッダ
明示的に対応するクラスがあるヘッダ以外の全てのヘッダ
メソッド
- body, body=( str : String )
-
フィールドボディ。
DateHクラス
スーパークラス
StructH
対応するヘッダ
クラスメソッド
- DateH.t2s( tim : Time ) : String
-
ローカル時間のTimeオブジェクトを、RFC822(RFC1123)形式
( MON DD YYYY HH:MM:SS [+/-]ZZZZ )の文字列表現に直します。
メソッド
- date, date=( tim : Time )
-
Dateヘッダのdate-timeをTimeオブジェクトにしたもの。ソートなどに都合がいいように、
代入のときは常にローカル時間に変換されます。
SaddrHクラス
スーパークラス
StructH
対応ヘッダ
- Return-Path:
- Sender:
- Resent-Sender:
メソッド
- addr, addr=( adr : MailAddr )
-
MboxまたはAddrGroupを返します。
MaddrHクラス
スーパークラス
StructH
対応ヘッダ
- To:
- Cc:
- Bcc:
- From:
- Reply-To:
- Resent-To:
- Resent-Cc:
- Resent-Bcc:
- Resent-From:
- Resent-Reply-To:
メソッド
- addrs : Array of MailAddr
-
MboxまたはAddrGroupの配列を返します。それ以外のオブジェクトをこの配列にいれると
to_sしたときに例外が発生します。
MsgidHクラス
スーパークラス
StructH
対応ヘッダ
- Message-ID:
- Resent-Message-ID:
- Content-ID:
クラスメソッド
- MsgidH.msgid?( str : String )
-
strがmessage-id形式の文字列を含むときにはその部分の文字列を、
そうでないときはnilを返します。
メソッド
- msgid, msgid=( str : String )
-
メッセージID文字列を返します。
RefHクラス
スーパークラス
StructH
対応ヘッダ
メソッド
- refs : Array of String
-
MessageIDとphraseの配列を返します。
- each_msgid{|msgid| .... }
-
messageIDに対してだけ繰りかえします。
- each_phrase{|phrase| .... }
-
phraseに対してだけ繰りかえします。
RecvHクラス
スーパークラス
StructH
対応ヘッダ
メソッド
- from, from=( domain: String )
-
fromに対応する文字列です。ドメインの形式でなければいけません(チェックしません)。
- by, by=( domain: String )
-
byに対応する文字列です。ドメインの形式でなければいけません(チェックしません)。
- via, via=( atom: String )
-
viaに対応する文字列です。
- with : Array of String
-
withに対応する文字列の配列です。プロトコルを表す文字列でなければいけません。
(チェックしません)
- msgid, msgid=( yd : String )
-
idに対応する文字列です。MessageID形式でなければいけません(チェックしません)。
- ford, ford=( fod : Mbox )
-
forに対応する文字列です。単純にforでないことに注意してください。
dはドメインのdですがあまりよくなかったような気がします。
- date, date=( dat : Time )
-
ヘッダ中の ; のあとに示された時刻に対応するTimeオブジェクトです。
ローカル時間でないオブジェクトを代入するとローカル時間に変更されます。
EncHクラス
スーパークラス
StructH
対応ヘッダ
メソッド
- encrypter, encrypter=( enc: String )
-
エンコードを行ったソフトウェアの名前。
- keyword, keyword=( key: String )
-
キーワード。
VersionHクラス
スーパークラス
StructH
対応ヘッダ
メソッド
- major, major=( maj: Integer )
-
メジャーバージョンです。
- minor, minor=( min: Integer )
-
マイナーバージョンです。
CTypeHクラス
スーパークラス
StructH
対応ヘッダ
メソッド
- main, main=( tipe: String )
-
コンテントメインタイプ。
- sub, sub=( tipe: String )
-
コンテントサブタイプ。
- params : Hash
-
パラメーターをHashとして格納したもの。
CEncodingHクラス
スーパークラス
StructH
対応ヘッダ
- Content-Transfer-Encoding:
メソッド
- encoding, encoding=( enc: String )
-
転送時のエンコード方式。
CDispositionクラス
スーパークラス
StructH
対応ヘッダ
メソッド
- disposition, disposition=( dis: String )
-
コンテンツの扱われかたを示す文字列
- params : Hash
-
パラメータをHashとして格納したもの
フィールド名とクラスの対応
フィールド名 | クラス |
Date | DateH |
Resent-Date | DateH |
Received | RecvH |
Return-Path | SaddrH |
Sender | SaddrH |
Resent-Sender | SaddrH |
To | MaddrH |
Cc | MaddrH |
Bcc | MaddrH |
From | MaddrH |
Reply-To | MaddrH |
Resent-To | MaddrH |
Resent-Cc | MaddrH |
Resent-Bcc | MaddrH |
Resent-From | MaddrH |
Resent-Reply-To | MaddrH |
Message-ID | MsgidH |
Resent-Message-ID | MsgidH |
In-Reply-To | RefH |
References | RefH |
Keywords | KeyH |
Encrypted | EncH |
Subject | StringH |
Comments | StringH |
MIME-Version | VersionH |
Content-Type | CTypeH |
Content-Transfer-Encoding | CEncodingH |
Content-ID | MsgidH |
Content-Description | StringH |