# $Id: README.ja,v 1.2 2003/06/24 09:17:45 tommy Exp $ # UMail クラス [UMail] メールクラス。 ## クラスメソッド new(str) メール内容(ヘッダ+本文+添付ファイル)を表わす文字列 str から UMail オ ブジェクトを作成する。この時点で行なうことは、ヘッダ文字列と本文の分 割、各へッダ文字列の格納のみ。この時点ではヘッダと本文のデコードは行 なわれない。 例) umail = UMail::new "From: TOMITA Masahiro \r\n..." strictly, strictly=bool 真を設定すると、できるだけ RFC822 に厳密に解釈しようとする。 mdecode_token(str) ヘッダ文字列 str を MIME デコードする。 mdecode(token, strictly=nil) ヘッダ文字列の配列 token を MIME デコードする。strictly が nil の場 合は UMail::strictly に従う。 ## オブジェクトメソッド header ヘッダオブジェクトが格納されている ヘッダ名(小文字)をキーとした Hash を返す。 例) umail.header['from'] => # [name] ヘッダ name のヘッダオブジェクトを返す。header[name] と同じ。 例) umail['from'] => # each {|name, obj| 〜} 各へッダについてブロックを繰り返す。name はヘッダ名、obj はヘッダオ ブジェクト。header.each と同じ。 has_key?(name) ヘッダ name があれば真。header.has_key? と同じ。 from From ヘッダの最初のフレーズ+メールアドレス文字列を返す。From ヘッダ が無い場合は nil。 例) umail.from => "TOMITA Masahiro " from_addr From ヘッダの最初のメールアドレス文字列を返す。From ヘッダが無い場合 は nil。 例) umail.from_addr => "tommy@tmtm.org" from_phrase From ヘッダの最初のメールアドレスのフレーズ部文字列を返す。From ヘッ ダが無い場合は nil。 例) umail.from_phrase => "TOMITA Masahiro" to To ヘッダのフレーズ+メールアドレス文字列の配列を返す。To ヘッダが無 い場合は nil。 例) umail.to => ["HOGE ", "FUGA "] to_addr To ヘッダのメールアドレス文字列の配列を返す。To ヘッダが無い場合は nil。 例) umail.to_addr => ["hoge@example.com", "fuga@example.net"] to_phrase To ヘッダのフレーズ文字列の配列を返す。To ヘッダが無い場合は nil。 例) umail.to_phrase => ["HOGE", "FUGA"] cc Cc ヘッダのフレーズ+メールアドレス文字列の配列を返す。Cc ヘッダが無 い場合は nil。 例) umail.cc => ["HOGE ", "FUGA "] cc_addr Cc ヘッダのメールアドレス文字列の配列を返す。Cc ヘッダが無い場合は nil。 例) umail.cc_addr => ["hoge@example.com", "fuga@example.net"] cc_phrase Cc ヘッダのフレーズ文字列の配列を返す。Cc ヘッダが無い場合は nil。 例) umail.cc_phrase => ["HOGE", "FUGA"] date Date ヘッダから得られるローカル時刻の Time オブジェクトを返す。Date ヘッダが無い場合は nil。 subject Subject ヘッダ文字列を返す。Subject ヘッダが無い場合は nil。 maintype Content-Type ヘッダの主タイプを返す。Content-Type ヘッダが無い場合は nil。 例) umail.maintype => "text" subtype Content-Type ヘッダの副タイプを返す。Content-Type ヘッダが無い場合は nil。 例) umail.subtype => "plain" charset Content-Type ヘッダの charset 属性の値を返す。Content-Type ヘッダや charset 属性が無い場合は nil。 filename Content-Type ヘッダの name 属性の値、または Content-Disposition ヘッ ダの filename 属性の値を返す。これらが無い場合は nil。 multipart? メールがマルチパートメッセージの場合に真。 body メール本文の文字列を返す。マルチパートメッセージの場合は、 Content-Type が text である最初の添付ファイルの本文を返す。 body_umail マルチパートメッセージの場合に、body に対応する添付ファイルの UMail オブジェクトを返す。 preamble マルチパートメッセージの場合に、最初の添付ファイルよりも前の文字列を 返す。 epilogue マルチパートメッセージの場合に、最後の添付ファイルよりも後の文字列を 返す。 parts マルチパートメッセージの場合に、添付ファイル(UMail オブジェクト)の配 列を返す。 # UMail::ParseError クラス [UMail::ParseError] 親クラス:StandardError メール解析処理時のエラークラス # UMail::Base64 モジュール [UMail::Base64] Base64 デコードモジュール ## モジュール関数 hdecode(str) Bエンコードされたヘッダ文字列をデコードする。 decode(str) Base64 文字列をデコードする。 # UMail::QuotedPrintable モジュール [UMail::QuotedPrintable] QuotedPrintable デコードモジュール ## モジュール関数 hdecode(str) Qエンコードされた文字列をデコードする。 decode(str) QuotedPrintable 文字列をデコードする。 # UMail::Header クラス [UMail::Header] ヘッダのメタクラス ## クラスメソッド new(str) ヘッダ値が str の Header オブジェクトを生成する。この時点ではデコー ド処理は行なわれない。 ## オブジェクトメソッド to_s new 時に渡した文字列。 body ヘッダ値をデコードした文字列。 strictly, strictly=bool RFC にできるだけ従うかどうかを指定する。デフォルト値は UMail::strictly。 strictly? strictly と同じ。 # UMail::StringH クラス [UMail::StringH] 親クラス:Header 文字列型ヘッダクラス。Subject, Comments, Content-Description が対応 する。 # UMail::StructH クラス [UMail::StructH] 親クラス:Header 構造型ヘッダのメタクラス。 ## オブジェクトメソッド comments コメント文字列の配列を取り出す。 # UMail::DateH クラス [UMail::DateH] 親クラス:StructH 日時型ヘッダクラス。Date, Resent-Date ヘッダが対応する。 ## オブジェクトメソッド date 日時をローカル時刻の Time オブジェクトとして取り出す。 # UMail::RecvH クラス [UMail::RecvH] 親クラス:StructH Received ヘッダクラス。 # UMail::RetpathH クラス [UMail::RetpathH] 親クラス:StructH Return-Path ヘッダクラス。 # UMail::XaddrH クラス [UMail::XaddrH] 親クラス:StructH メールアドレス用のメタクラス。 # UMail::SaddrH クラス [UMail::SaddrH] 親クラス:XaddrH 一つだけメールアドレスを持つヘッダ用のクラス。Sender, Resent-Sender ヘッダが対応する。 ## オブジェクトメソッド addr UMail::MailAddr オブジェクト。 # UMail::MaddrH クラス [UMail::MaddrH] 親クラス:XaddrH 複数のメールアドレスを持つヘッダ用のクラス。From, Resent-From ヘッダ が対応する。 ## オブジェクトメソッド addrs MailAddr オブジェクトの配列を取り出す。 addr 最初の MailAddr オブジェクト。addrs[0] と同じ。 # UMail::GaddrH クラス [UMail::GaddrH] 親クラス:XaddrH グループ指定可能メールアドレスヘッダ用のクラス。To, Cc, Bcc, Reply-To, Resent-To, Resent-Cc, Resent-Bcc, Resent-Reply-To ヘッダが 対応する。 ## オブジェクトメソッド groups MailGroup オブジェクトの配列。 addrs MailAddr オブジェクトの配列。 addr 最初の MailAddr オブジェクト。addrs[0] と同じ。 # UMail::MsgidH クラス [UMail::MsgidH] 親クラス:StructH メッセージID ヘッダクラス。Message-Id, Resent-Message-Id, Content-Id ヘッダが対応する。 ## オブジェクトメソッド msgid メッセージID文字列。 # UMail::RefH クラス [UMail::RefH] 親クラス:StructH In-Reply-To, References ヘッダ用クラス。 ## オブジェクトメソッド msgids メッセージID文字列の配列を取り出す。 phrases フレーズ文字列の配列を取り出す。 # UMail::KeyH クラス [UMail::KeyH] 親クラス:StructH Keywords ヘッダクラス。 # UMail::EncH クラス [UMail::EncH] 親クラス:StructH Encrypted ヘッダクラス。 # UMail::VersionH クラス [UMail::VersionH] 親クラス:StructH Mime-Version ヘッダクラス。 # UMail::CtypeH クラス [UMail::CTypeH] 親クラス:StructH Content-Type ヘッダクラス。 ## オブジェクトメソッド maintype 主タイプ文字列を返す。 subtype 副タイプ文字列を返す。 params パラメータを Hash で返す。 例) Content-Type: text/plain; charset=euc-jp の場合 maintype => "text", subtype => "plain", params["charset"] => "euc-jp" # UMail::CEncodingH クラス [UMail::CEncodingH] 親クラス: StructH Content-Transfer-Encoding ヘッダクラス ## オブジェクトメソッド encoding エンコーディング形式文字列を小文字で返す。 # CDispositionH クラス [UMail::CDispositionH] 親クラス:StructH Content-Disposition ヘッダクラス ## オブジェクトメソッド disposition disposition 文字列を小文字で返す。 params パラメータを Hash で返す。 # UMail::MailAddr クラス [UMail::MailAddr] メールアドレス用クラス ## クラスオブジェクト new(addr, phrase, comments) メールアドレス文字列 addr, フレーズ文字列 phrase, コメント配列 comments で MailAddr オブジェクトを生成する。 ## オブジェクトメソッド addr メールアドレスを取り出す。 phrase フレーズを取り出す。 comments コメント配列を取り出す。 to_s フレーズがある場合は、"phrase " 形式の文字列を取り出す。フレー ズがない場合は、"" 形式の文字列を取り出す。 # UMail::MailGroup クラス [UMail::MailGroup] メールアドレスグループクラス ## クラスオブジェクト new(name, addrs) グループ名 name, メールアドレス(MailAddr)配列 addrs で MailGroup オ ブジェクトを生成する。 ## オブジェクトメソッド name グループ名。 addrs メールアドレス(MailAddr)の配列。 to_s name が nil の場合は、メールアドレスを「, 」で結合した文字列を返す。 そうでなければ、「name: addrs, ...;」の形式の文字列を返す。