<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Mail</title> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <link href="default.css" type="text/css" rel="stylesheet" /> <link href="refm193.html" rel="next" /> <link href="refm191.html" rel="prev" /> <link href="index.html" rel="start" /> </head> <body> <div class="navigator"><span class="navigator">[<a href="index.html">MAIN</a>][<a href="refm543.html">INDEX</a>] [<a href="index.html">TOP</a>][<a href="refm191.html">UP</a>][<a href="refm191.html"><-PREV</a>][<a href="refm193.html">NEXT-></a>]</span></div> <hr /> <h1><a name="L003228" id="L003228">Mail</a></h1> <p>[2001/02/05] <a href="mailto:rubikitch@ruby-lang.org">るびきち</a><sup class="outside"><small>[外部]</small></sup></p> <p>シンプルなメールクラス。</p> <h2><a name="L003229" id="L003229">mailread.rb 使い方</a></h2> <pre>require 'mailread' m = Mail.new('/var/mail/foo') puts 'From: ' + m['From'], 'Subject: ' + m['Subject'], '--', m.body[0,5]</pre> <h2><a name="L003230" id="L003230">クラスメソッド:</a></h2> <dl> <dt><a name="L003231" id="L003231"><code>Mail.new(<var>f</var>)</code></a></dt> <dd> <p>メールを解析する。 <var>f</var> はファイル名か <a href="refm040.html">IO</a> オブジェクト。 このメソッドを実行した時点でヘッダと本文が切り分けられ、ヘッダの ハッシュ(ヘッダフィールド単位)と本文の配列(行単位)が作られる。</p> <p>1ファイル複数メールの形式(Unix From 形式)に対応しており (この場合 open 済みの IO を渡す必要があることに注意)、 例えば以下のようにして各メールの Subject を表示できる</p> <pre>require 'mailread' require 'nkf' mailbox = File.open('/var/mail/arai') until (m = Mail.new(mailbox)).header.empty? puts NKF.nkf('-me', m['subject']) end</pre></dd> </dl> <h2><a name="L003232" id="L003232">メソッド:</a></h2> <dl> <dt><a name="L003233" id="L003233"><code>Mail#header</code></a></dt> <dd> <p>ヘッダを <a href="refm039.html">Hash</a> で返す。 キーは 'From'、'Subject' などのフィールド名で、すべてのキーは <a href="refm056.html">String#capitalize</a> されている。</p> <p>値の末尾の改行は削除される。複数行に分かれている場合、間に改行を はさむ(継続行を表す空白は削除される)。MIME デコードなどを行いた い場合は <a href="refm211.html">NKF</a> などを使用すること。</p></dd> <dt><a name="L003234" id="L003234"><code>Mail#body</code></a></dt> <dd> <p>本文を行単位の <a href="refm031.html">Array</a> で返す。</p></dd> <dt><a name="L003235" id="L003235"><code>Mail#[<var>field</var>]</code></a></dt> <dd> <p>ヘッダの <var>field</var> の値を返す。 m.header[<var>field</var>.capitalize] と同じなので値取得の際は、フィー ルド名のアルファベットの大小を気にする必要はない。</p></dd> </dl> <hr /> <div class="navigator"><span class="navigator">[<a href="index.html">MAIN</a>][<a href="refm543.html">INDEX</a>] [<a href="index.html">TOP</a>][<a href="refm191.html">UP</a>][<a href="refm191.html"><-PREV</a>][<a href="refm193.html">NEXT-></a>]</span></div> </body> </html>