# Mail

[2001/02/05] るびきち

シンプルなメールクラス。

## mailread.rb 使い方

    require 'mailread'

    m = Mail.new('/var/mail/foo')
    puts 'From: ' + m['From'],
         'Subject: ' + m['Subject'],
         '--',
         m.body[0,5]

## クラスメソッド:

`Mail.new(f)`

  メールを解析する。 f はファイル名か IO オブジェクト。 このメソッドを実行した時点でヘッダと本文が切り分けられ、ヘッダの ハッシュ(ヘッダフィールド単位)と本文の配列(行単位)が作られる。

  1ファイル複数メールの形式(Unix From 形式)に対応しており (この場合 open 済みの IO を渡す必要があることに注意)、 例えば以下のようにして各メールの Subject を表示できる

      require 'mailread'
      require 'nkf'

      mailbox = File.open('/var/mail/arai')
      until (m = Mail.new(mailbox)).header.empty?
        puts NKF.nkf('-me', m['subject'])
      end

## メソッド:

`Mail#header`

  ヘッダを Hash で返す。 キーは 'From'、'Subject' などのフィールド名で、すべてのキーは String#capitalize されている。

  値の末尾の改行は削除される。複数行に分かれている場合、間に改行を はさむ(継続行を表す空白は削除される)。MIME デコードなどを行いた い場合は NKF などを使用すること。

`Mail#body`

  本文を行単位の Array で返す。

`Mail#[field]`

  ヘッダの field の値を返す。 m.header[field.capitalize] と同じなので値取得の際は、フィー ルド名のアルファベットの大小を気にする必要はない。

links: [Array] [Hash] [IO] [NKF] [String]
reverse link: [添付ライブラリ]