TMail ユーザーマニュアル[外部]も参照してください。

TMail::Mailクラス

スーパークラス

Object

クラスメソッド

TMail::Mail.new( ((|port|)), ((|strict|)) = false )

新しい Mail オブジェクトを返します。 引数はPort[外部]です。

strict が真のときはヘッダをパースできなかったときに、 例外 ParseError を発生します。偽のときはエラーを無視します。

TMail::Mail.load_from( ((|filename|)) )

新しい Mail オブジェクトを返します。引数 filename は mh などのように、 メール一通がファイルひとつに対応するファイルの名前でなければいけません。 UNIX mbox のような形式は単独では対応していないので、 別途ローダー[外部]を使ってください。

TMail::Mail.boundary

新しいバウンダリを作成して返します。

TMail::Mail.msgid

新しいMessage-IDを作成して返します。 ホスト名が取得できれば'<ランダム文字列@ホスト名>'の形式で作成します。 取得できないときはかわりに'tmail.on.ruby'を使います。

TMail::Mail.msgid?( ((|str|)) )

文字列 str が正しいメッセージ ID 形式かどうかを返します。

TMail::Mail.zonestr2i( ((|str|)) )

タイムゾーンを表す文字列 str を整数に変換します。単位は分です。

TMail::Mail.time2str( ((|time|)) )

Time オブジェクトを RFC822 形式の文字列に変換します。

TMail::Mail.quote( ((|str|)) )

文字列 str がメールヘッダで特殊な意味を持つとき、「"」でクオートします。 そうでないときは str をそのまま返します。

TMail::Mail.encoded?( ((|str|)) )

文字列 str にヘッダ用の MIME エンコードがなされていると思われる時、真。

メソッド

TMail::Mail#body_port

TMail が本文を保存しているポート[外部]を返します。

ただし、ここに書きこんでも実際のメールは変更されません。実際に変更するためには このポートに書きこんだ後 write_back メソッドを呼ぶ必要があります。

TMail::Mail#each

body_port.each と同じです。

TMail::Mail#body
TMail::Mail#preamble

メールボディ(本文)全てを文字列で返します。 MIMEマルチパートメールのときはpreambleに相当します。

TMail::Mail#parts

メールがMIMEマルチパートメールの時、 各パートが TMail::Mail の配列として格納されています。 マルチパートメールでないときは空の配列です。

この配列を変更しても実際のメールには反映されません。 反映させるには write_back を呼びます。

TMail::Mail#epilogue, epilogue=

MIMEマルチパートメールでの epilogue に相当する文字列です。 通常のメールのときは空文字列がはいっています。

この文字列を変更しても実際のメールには反映されません。 反映させるには write_back を呼びます。

TMail::Mail#multipart?

メールがMIMEマルチパートのとき true。 このメソッドは Content-Type ヘッダの内容で真偽を判断します。

TMail::Mail#encoded( ((|eol|)) = "\n", ((|charset|)) = 'j', ((|ret|)) = '', ((|sep|)) = '' )

適宜エンコードを行いつつメールを ret に書きこみます。 その際、ヘッダの行末コードを eol に、 ヘッダ内のエンコード前の日本語の文字コードを charset にセットし、 ヘッダと本文の間に文字列 sep をはさみます(たとえば Mh 形式なら'----')。

このメソッドは 0.7 までは to_s と呼ばれていたものですが、 今後は encoded を推奨します。 将来のバージョンでは to_s は decoded の別名になります。

TMail::Mail#decoded( ((|eol|)) = "\n", ((|charset|)) = 'e', ((|ret|)) = '', ((|sep|)) = '' )

メールを文字列に変換します。 ヘッダがデコードされたものになること以外は encoded と同じです。

0.7 まではこのメソッドは inspect と呼ばれていましたが、 今後は decoded を使うことを勧めます。 将来のバージョンでは inspect はまったく違う意味になります。

TMail::Mail#to( default = '' )

Toヘッダの一番最初のアドレスを返します。 Toが存在しないときはdefaultを返します。

TMail::Mail#to=( str )

To ヘッダにに str をセットします。

TMail::Mail#from( default = '' )

From の一番最初のアドレスを返します。 From が存在しないときは default を返します。

TMail::Mail#from_phrase( default = '' )

From の一番最初のアドレスの phrase 部分を返します。 From が存在しないときは default を返します。

TMail::Mail#from=( str )

From に str を使います。

TMail::Mail#subject( default = '' )

Subject を返します。Subject ヘッダがないときは default を返します。

TMail::Mail#subject=( str )

Subject ヘッダを str にセットします。

TMail::Mail#msgid( default = '' )

メッセージID を返します。

TMail::Mail#msgid=( str )

メッセージID に str をセットします。

TMail::Mail#maintype( default = nil )

メール内容のメインタイプを返します。

TMail::Mail#subtype( default = nil )

メール内容のサブタイプを返します。

TMail::Mail#charset( default = nil )

charset が設定されていればそれを返します。

TMail::Mail#charset=( str )

charset を str に設定します。

TMail::Mail#set_contenttype( main, sub, params = nil )

コンテントタイプを main/sub; param ; param ; ... のように設定します。 params は Hash です。

TMail::Mail#encoding( default = nil )

転送用エンコーディングを返します。

TMail::Mail#encoding=( str )

転送用エンコーディングを設定します。

TMail::Mail#each_dest{|addr| ....}

全ての宛先に対するくりかえし。

TMail::Mail#clear

ヘッダを全て消去します。

TMail::Mail#keys

ヘッダ名の配列を返します。

TMail::Mail#self[ key ]

ヘッダ名からヘッダオブジェクトを返します。

TMail::Mail#self[ key ]= val

keyヘッダの内容としてvalヘッダオブジェクトを使います。

TMail::Mail#delete( key )

keyヘッダを消します。

TMail::Mail#delete_if{|key, val| ..... }

ヘッダ名とヘッダを与えてブロックを評価し、真ならその関連づけを消します。

TMail::Mail#each_header{|name, field| ... }
TMail::Mail#each_pair{|name, field| ... }

全てのヘッダ名とヘッダオブジェクトに対するくりかえし。

TMail::Mail#each_header_name{|header_name| .....}

全てのヘッダ名に対するくりかえし。

TMail::Mail#each_field{|field| ... }
TMail::Mail#each_value{|field| ... }

全てのヘッダオブジェクトに対するくりかえし。

TMail::Mail#fetch( key, default_body )
TMail::Mail#fetch( key ){ ... }

keyヘッダに対応するヘッダオブジェクトを返します。配列 TMail::Mail::USE_ARRAY に 名前が設定されているヘッダに対しては('Received'など)、ヘッダオブジェクトの 配列が返ります。keyヘッダが存在しない場合はdefault_bodyに与えられた文字列を ヘッダボディとして登録したうえでそのヘッダオブジェクトを返します。 default_bodyが省略され、ブロックが与えられたときは、そのブロックを評価した結果を default_bodyとして使います。

TMail::Mail#has_key?( name )
TMail::Mail#include?( name )
TMail::Mail#key?( name )

name ヘッダがあれば真。

TMail::Mail#has_value?( field )
TMail::Mail#value?( field )

field ヘッダオブジェクトがあれば真。

TMail::Mail#indexes( *keys )
TMail::Mail#indices( *keys )

全てのkeysについてfetchした結果の配列を返します。

TMail::Mail#store( fname, fbody )

fname ヘッダを fbody に設定します。fbody は文字列、HeaderField オブジェクトです。 Received: など一部のヘッダに対してはさらにその配列も与えることができます。

TMail::Mail#values

登録されている全てのヘッダオブジェクトの配列を返します。

Copyright (c) 1998-2000 Minero Aoki aamine@dp.u-netsurf.ne.jp[外部]