tmail 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. data/CHANGES +50 -5
  2. data/MANIFEST +188 -0
  3. data/NOTES +1 -1
  4. data/README +10 -4
  5. data/Rakefile +1 -10
  6. data/lib/tmail.rb +1 -0
  7. data/lib/tmail/Makefile +0 -1
  8. data/lib/tmail/address.rb +190 -17
  9. data/lib/tmail/attachments.rb +1 -1
  10. data/lib/tmail/base64.rb +4 -10
  11. data/lib/tmail/compat.rb +8 -6
  12. data/lib/tmail/config.rb +2 -6
  13. data/lib/tmail/core_extensions.rb +14 -18
  14. data/lib/tmail/encode.rb +47 -12
  15. data/lib/tmail/header.rb +7 -10
  16. data/lib/tmail/index.rb +2 -1
  17. data/lib/tmail/interface.rb +14 -12
  18. data/lib/tmail/loader.rb +2 -0
  19. data/lib/tmail/mail.rb +83 -24
  20. data/lib/tmail/mailbox.rb +70 -10
  21. data/lib/tmail/main.rb +2 -0
  22. data/lib/tmail/mbox.rb +2 -0
  23. data/lib/tmail/net.rb +16 -15
  24. data/lib/tmail/obsolete.rb +7 -12
  25. data/lib/tmail/parser.rb +1 -0
  26. data/lib/tmail/require_arch.rb +2 -0
  27. data/lib/tmail/scanner.rb +2 -1
  28. data/lib/tmail/scanner_r.rb +11 -10
  29. data/lib/tmail/utils.rb +83 -26
  30. data/lib/tmail/version.rb +3 -2
  31. data/log/BugTrackingLog.txt +1208 -0
  32. data/log/{ChangeLog.txt → Changelog-0.txt} +36 -0
  33. data/log/Changelog.txt +534 -0
  34. data/log/Testlog.txt +114 -0
  35. data/log/Todo.txt +0 -2
  36. data/meta/VERSION +1 -0
  37. data/meta/project.yaml +8 -5
  38. data/meta/unixname +1 -0
  39. data/setup.rb +1481 -0
  40. data/site/contributing/index.html +183 -0
  41. data/site/css/clean.css +27 -0
  42. data/site/css/layout.css +31 -0
  43. data/site/css/style.css +60 -0
  44. data/site/download/index.html +61 -0
  45. data/site/img/envelope.jpg +0 -0
  46. data/site/img/mailman.gif +0 -0
  47. data/site/img/stamp-sm.jpg +0 -0
  48. data/site/img/stamp.jpg +0 -0
  49. data/site/img/stampborder.jpg +0 -0
  50. data/site/img/tfire.jpg +0 -0
  51. data/site/img/tmail.png +0 -0
  52. data/site/index.html +270 -0
  53. data/site/js/jquery.js +31 -0
  54. data/site/log/Changelog.xsl +33 -0
  55. data/site/log/changelog.xml +1677 -0
  56. data/site/outdated/BUGS +3 -0
  57. data/site/outdated/DEPENDS +1 -0
  58. data/site/outdated/Incompatibilities +89 -0
  59. data/site/outdated/Incompatibilities.ja +102 -0
  60. data/site/outdated/NEWS +9 -0
  61. data/site/outdated/README.ja +73 -0
  62. data/site/outdated/doc.ja/address.html +275 -0
  63. data/site/outdated/doc.ja/basics.html +405 -0
  64. data/site/outdated/doc.ja/config.html +49 -0
  65. data/site/outdated/doc.ja/details.html +146 -0
  66. data/site/outdated/doc.ja/index.html +39 -0
  67. data/site/outdated/doc.ja/mail.html +793 -0
  68. data/site/outdated/doc.ja/mailbox.html +265 -0
  69. data/site/outdated/doc.ja/port.html +95 -0
  70. data/site/outdated/doc.ja/tmail.html +58 -0
  71. data/site/outdated/doc.ja/usage.html +202 -0
  72. data/site/outdated/rdd/address.rrd.m +229 -0
  73. data/site/outdated/rdd/basics.rd.m +275 -0
  74. data/site/outdated/rdd/config.rrd.m +26 -0
  75. data/site/outdated/rdd/details.rd.m +117 -0
  76. data/site/outdated/rdd/index.rhtml.m +54 -0
  77. data/site/outdated/rdd/mail.rrd.m +701 -0
  78. data/site/outdated/rdd/mailbox.rrd.m +228 -0
  79. data/site/outdated/rdd/port.rrd.m +69 -0
  80. data/site/outdated/rdd/tmail.rrd.m +33 -0
  81. data/site/outdated/rdd/usage.rd.m +247 -0
  82. data/site/quickstart/index.html +69 -0
  83. data/site/quickstart/quickstart.html +52 -0
  84. data/site/quickstart/usage.html +193 -0
  85. data/site/reference/address.html +247 -0
  86. data/site/reference/config.html +30 -0
  87. data/site/reference/index.html +101 -0
  88. data/site/reference/mail.html +726 -0
  89. data/site/reference/mailbox.html +245 -0
  90. data/site/reference/port.html +75 -0
  91. data/site/reference/tmail.html +35 -0
  92. data/test/fixtures/mailbox +405 -4
  93. data/test/fixtures/raw_email_multiple_from +30 -0
  94. data/test/kcode.rb +2 -2
  95. data/test/temp_test_one.rb +46 -0
  96. data/test/test_address.rb +77 -38
  97. data/test/test_encode.rb +0 -2
  98. data/test/test_header.rb +47 -24
  99. data/test/test_mail.rb +52 -9
  100. data/test/test_mbox.rb +28 -0
  101. data/test/test_port.rb +33 -27
  102. data/test/test_quote.rb +35 -8
  103. data/work/script/make +26 -0
  104. data/work/script/rdoc +39 -0
  105. data/{script → work/script}/setup +0 -0
  106. data/work/script/test +30 -0
  107. metadata +249 -184
  108. data/log/History.txt +0 -40
  109. data/meta/config.yaml +0 -8
  110. data/meta/icli.yaml +0 -16
  111. data/meta/tmail.roll +0 -3
  112. data/script/changelog +0 -19
  113. data/script/clobber/distclean +0 -8
  114. data/script/clobber/package +0 -10
  115. data/script/compile +0 -32
  116. data/script/pack/gem +0 -93
  117. data/script/pack/tgz +0 -41
  118. data/script/pack/zip +0 -41
  119. data/script/prepare +0 -15
  120. data/script/publish +0 -51
  121. data/script/rdoc +0 -42
  122. data/script/release +0 -10
  123. data/script/stamp +0 -33
  124. data/script/stats +0 -138
  125. data/script/tag +0 -25
  126. data/script/test +0 -36
@@ -0,0 +1,3 @@
1
+ * mails may be deleted if other precesses are touching mailbox.
2
+ * mails may be corrupted if other precesses are touching mailbox.
3
+ * not thread safe
@@ -0,0 +1 @@
1
+ tmail: raccruntime
@@ -0,0 +1,89 @@
1
+ = Incompatibilities from version 0.9 to 0.10
2
+
3
+ The biggest change is that return value of some
4
+ TMail::Mail methods have been changed. In TMail 0.10,
5
+ ALL "<headername>" methods return an array of address
6
+ spec strings, and ALL "<HeaderName>_addrs" methods
7
+ return an array of TMail::Address objects.
8
+ For example:
9
+
10
+ # mail header
11
+ To: Minero Aoki <aamine@loveruby.net>
12
+
13
+ # from ruby
14
+ TMail::Mail#to == ["aamine@loveruby.net"]
15
+ TMail::Mail#to_addrs == [#<TMail::Address>]
16
+
17
+ In 0.9, this rule has not been thoroughed.
18
+
19
+ == Incompatible Changes
20
+
21
+ * TMail::Mail#from (return value)
22
+ 0.9 first friendly-from or address spec string
23
+ 0.10 an array of address spec string for From:.
24
+ (use friendly_from for 0.9 action)
25
+
26
+ * TMail::Mail#to (return value)
27
+ 0.9 first Address object for To:
28
+ 0.10 an array of address spec string for To:
29
+
30
+ * TMail::Mail#fetch (number of argument)
31
+ 0.9 fetch(header_name, init_string, &block)
32
+ 0.10 fetch(header_name)
33
+
34
+ * TMail's mail parser raises TMail::SyntaxError
35
+ instead of ::ParseError in ALL situations.
36
+
37
+ * TMail::StringPort.new (number of argument)
38
+ 0.9 new(str, eol, unifyeol)
39
+ 0.10 new(str='')
40
+
41
+ * TMail::HeaderField#*
42
+ Any methods of HeaderField (and its subclasses) are
43
+ subject to change without notice. Simply do not use them,
44
+ use TMail::Mail interface methods instead.
45
+
46
+ == Compatible Changes
47
+
48
+ These methods are compatible NOW, but is not in 1.0.
49
+
50
+ * TMail::Mail.new (argument semantic)
51
+ 0.9 new(port, strict=false)
52
+ 0.10 new(port, configuration=TMail::DEFAULT_CONFIG)
53
+ (use TMail::DEFAULT_CONFIG.strict_parse=true instead)
54
+
55
+ * TMail::MhLoader -> TMail::MhMailbox
56
+ * TMail::MboxLoader -> TMail::UNIXMbox
57
+ * TMail::MaildirLoader -> TMail::Maildir
58
+ You can use old names as alias.
59
+
60
+
61
+ == Obsolete Methods
62
+
63
+ These methods are defined in tmail/obsolete.rb.
64
+ Currently TMail requires it by default, but in 1.0, it does not.
65
+
66
+ * TMail::Mail#from_addr
67
+ * TMail::Mail#from_address
68
+ * TMail::Mail#from_address=
69
+ * TMail::Mail#from_phrase (is #friendly_from)
70
+ * TMail::Mail#msgid (is #message_id)
71
+ * TMail::Mail#msgid= (is #message_id)
72
+ * TMail::Mail#each_dest (is #each_destination)
73
+ * TMail::Mail#has_key? (is #key?)
74
+ * TMail::Mail#include? (is #key?)
75
+ * TMail::Mail#value?
76
+ * TMail::Mail#has_value?
77
+ * TMail::Mail#values
78
+ * TMail::Loader#new_mail (is #new_port)
79
+ * TMail::Loader#each_mail (is #each_port)
80
+ * TMail::Loader#each_newmail (is #each_new_port)
81
+ * TMail.boundary (is .new_boundary)
82
+ * TMail.msgid (is .new_message_id)
83
+ * TMail.new_msgid (is .new_message_id)
84
+ * TMail::Mail.boundary (is TMail.new_boundary)
85
+ * TMail::Mail.msgid (is TMail.new_message_id)
86
+ * TMail::Mail.new_msgid (is TMail.new_message_id)
87
+ * TMail.loadfrom (is .load)
88
+ * TMail.load_from (is .load)
89
+ * TMail::Address#route (is #routes)
@@ -0,0 +1,102 @@
1
+ = バージョン 0.9 から 0.10 移行時の非互換について
2
+
3
+ ほとんどはマイナーメソッドの変更なのでたいしたことは
4
+ ないと思いますが、Mail#from #to の返り値の変更だけは
5
+ かなり致命的です。ですが、これはメソッド命名に明確な
6
+ 統一ルールを与えるためには避けられない変更なので強行
7
+ することにします。
8
+
9
+
10
+ == 0.10 で導入した Mail クラスのメソッドの統一ルール
11
+
12
+ 「Mail#アドレスヘッダ名」はアドレススペック (...@...)
13
+ 文字列の配列を返す。
14
+ 「Mail#アドレスヘッダ名_addrs」は TMail::Address
15
+ オブジェクトの配列を返す。
16
+
17
+
18
+ # ヘッダの文字列
19
+ To: Minero Aoki <aamine@loveruby.net>
20
+
21
+ # コードでは
22
+ TMail::Mail#to == ["aamine@loveruby.net"]
23
+ TMail::Mail#to_addrs == [#<TMail::Address>]
24
+
25
+
26
+ == 変更リスト
27
+
28
+ * TMail::Mail#from の返り値
29
+ 0.9 From: の最初のアドレスの "friendly from"
30
+ それがなければアドレススペック文字列
31
+ (0.10 では Mail#friendly_from を使ってください)
32
+ 0.10 From: のアドレススペック文字列の配列
33
+
34
+ * TMail::Mail#to の返り値
35
+ 0.9 To: の最初のアドレスの Address オブジェクト
36
+ 0.10 To: のアドレススペック文字列の配列
37
+
38
+ * TMail::Mail#fetch の引数の数
39
+ 0.9 fetch(header_name, init_string, &block)
40
+ 0.10 fetch(header_name)
41
+
42
+ * TMail のパーサが例外を投げるとき、::ParseError では
43
+ なく TMail::SyntaxError を発生させます。
44
+
45
+ * TMail::StringPort.new の引数の数
46
+ 0.9 new(str, eol, unifyeol)
47
+ 0.10 new(str='')
48
+
49
+ * TMail::HeaderField およびその下位クラスの全メソッド
50
+ メソッド名その他、予告なしに変更されることがあります
51
+ (すでにいくつか変更しました)。0.10 以降ではできる限り
52
+ TMail::Mail のインターフェイスメソッドを使ってください。
53
+
54
+
55
+ == いまは互換性のある変更
56
+
57
+ * TMail::Mail.new の第二引数
58
+ TMail::Config オブジェクトを受けるようになりました。
59
+ true/false は同等の Config オブジェクトに変換されます。
60
+
61
+ * TMail::MhLoader -> TMail::MhMailbox
62
+ * TMail::MboxLoader -> TMail::UNIXMbox
63
+ * TMail::MaildirLoader -> TMail::Maildir
64
+ 元のクラス名も別名として残してあります。
65
+ 1.0 で消すかどうかはまだ考え中ですが、これは修正が
66
+ かなり面倒なので残すことになると思います。
67
+
68
+
69
+ == 非推奨メソッドリスト
70
+
71
+ tmail/obsolete.rb に分離しました。現在はデフォルトで require して
72
+ いますが、次のバージョン (1.0 の予定) では require しないように
73
+ なります。ただしファイルは残すので、自分で require 'tmail/obsolete'
74
+ すれば使い続けることもできます。
75
+
76
+ かっこ内は同じ効果のメソッドです。またドキュメントには非推奨
77
+ メソッドは最初から載せていません。
78
+
79
+ * TMail::Mail#from_addr
80
+ * TMail::Mail#from_address
81
+ * TMail::Mail#from_address=
82
+ * TMail::Mail#from_phrase (#friendly_from)
83
+ * TMail::Mail#msgid (#message_id)
84
+ * TMail::Mail#msgid= (#message_id)
85
+ * TMail::Mail#each_dest (#each_destination)
86
+ * TMail::Mail#has_key? (#key?)
87
+ * TMail::Mail#include? (#key?)
88
+ * TMail::Mail#value?
89
+ * TMail::Mail#has_value?
90
+ * TMail::Mail#values
91
+ * TMail::Loader#new_mail (#new_port)
92
+ * TMail::Loader#each_mail (#each_port)
93
+ * TMail::Loader#each_newmail (#each_new_port)
94
+ * TMail.boundary (.new_boundary)
95
+ * TMail.msgid (.new_message_id)
96
+ * TMail.new_msgid (.new_message_id)
97
+ * TMail::Mail.boundary (TMail.new_boundary)
98
+ * TMail::Mail.msgid (TMail.new_message_id)
99
+ * TMail::Mail.new_msgid (TMail.new_message_id)
100
+ * TMail.loadfrom (.load)
101
+ * TMail.load_from (.load)
102
+ * TMail::Address#route (#routes)
@@ -0,0 +1,9 @@
1
+ = NEWS
2
+
3
+ == version 0.10.8 (2004-02-20)
4
+
5
+ * TMail::UNIXMbox did not work.
6
+ * TMail::Mail#encoded did not work when Content-Type: multipart/mixed
7
+ but that is not multipart mail. [ruby-list:38050]
8
+ * RFC2231 encoder did not encode 3 characters: *%'
9
+
@@ -0,0 +1,73 @@
1
+ TMail README
2
+ ============
3
+
4
+ TMail は Ruby からメールを簡単に扱うためのライブラリです。
5
+ メールから情報を得る、情報をフォーマットにあわせて書き込む、
6
+ という両面の働きを持ちます。ただし受信・送信プロトコルは
7
+ 含みません。
8
+
9
+ 必要環境
10
+ --------
11
+
12
+ * Ruby 1.6 以降
13
+ (* C コンパイラ、make)
14
+
15
+
16
+ インストール
17
+ -----------
18
+
19
+ tar.gz のアーカイブを展開したらそのトップディレクトリで以下
20
+ のように打ってください。
21
+
22
+ $ ruby setup.rb config
23
+ $ ruby setup.rb setup
24
+ ($ su)
25
+ # ruby setup.rb install
26
+
27
+ # の行は通常ルート権限が必要になりますが、--prefix オプション
28
+ などを使ってインストール先ディレクトリを変更すれば回避できる
29
+ ことがあります。たとえば /home/aamine/lib/ruby 以下にインストー
30
+ ルしたいなら
31
+
32
+ $ ruby setup.rb config --prefix=/home/aamine/lib/ruby
33
+
34
+ とします。より詳細は ruby install.rb --help で見てください。
35
+
36
+ これでインストールはおしまいです。
37
+ ライブラリの詳細については doc.ja/ 以下の HTML ファイルを
38
+ 見てください。index.html がトップページです。
39
+
40
+
41
+ 名前の由来
42
+ ----------
43
+
44
+ このライブラリを作りだしたのは 1998 年 6 月で、そのころはまだ
45
+ ほとんど Delphi しか使ったことがなく
46
+
47
+ クラス名には T をつけるもんだ!
48
+
49
+ と思っていた。というわけで TMail。
50
+ でもいま思うに普通に Mail クラスじゃ芸がないからこれでよかったかも
51
+ しれない。語感もよい。
52
+
53
+
54
+ ライセンス
55
+ ----------
56
+
57
+ このライブラリに含まれるソースコードおよびドキュメントは青木峰郎が
58
+ 著作権を保持します。それらファイルは全て GNU Lesser General Public
59
+ Licence version 2.1 (以下、LGPL)に従って配布するものとします。LGPL
60
+ の詳細についてはファイル COPYING を参照してください。
61
+
62
+
63
+ バグなど
64
+ --------
65
+
66
+ バグや要望などありましたら下記のアドレスにメールをください。
67
+ 作者にはバグを直す責任はありませんが、このソフトからバグを
68
+ 減らしたいとは思っています。
69
+
70
+
71
+ 青木峰郎
72
+ aamine@loveruby.net
73
+ http://i.loveruby.net
@@ -0,0 +1,275 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html lang="ja-JP">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
5
+ <meta http-equiv="Content-Language" content="ja-JP">
6
+ <title><code>Address Classes</code></title>
7
+ </head>
8
+ <body>
9
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
10
+ </script>
11
+ <script type="text/javascript">
12
+ _uacct = "UA-2871747-1";
13
+ urchinTracker();
14
+ </script>
15
+
16
+
17
+ <h1><code>Address Classes</code></h1>
18
+
19
+ <h2><code>class <a name="TMail%3a%3aAddress">TMail::Address</a> </code></h2>
20
+
21
+ <h3>$B%/%i%9%a%=%C%I(B</h3>
22
+
23
+ <dl>
24
+ <dt><a name="TMail%3a%3aAddress-parse"><code>parse(str)</code></a> $B"*(B <code><a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a></code></dt>
25
+ <dd>
26
+ <p>
27
+ str: String<br>
28
+ </p>
29
+
30
+ <p>
31
+ $BJ8;zNs(B <code>str</code> $B$+$i(B <code>TMail::Address</code> $B$^$?$O(B <code>TMail::AddressGroup</code>
32
+ $B%*%V%8%'%/%H$r@8@.$7$^$9!#(B<code>str</code> $B$,%a!<%k%"%I%l%9$H$_$J$;$J$$(B
33
+ $B$H$-$ONc30(B <code>TMail::SyntaxError</code> $B$rH/@8$7$^$9!#(B
34
+ </p>
35
+
36
+ </dd>
37
+ <dt><a name="TMail%3a%3aAddress-new"><code>new(locals, <var>domains</var>)</code></a> $B"*(B <code><a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a></code></dt>
38
+ <dd>
39
+ <p>
40
+ locals: [String]<br>
41
+ domains: [String]<br>
42
+ </p>
43
+
44
+ <p>
45
+ $B?7$7$$(B <code>TMail::Address</code> $B%*%V%8%'%/%H$r@8@.$7$^$9!#(B<code>locals</code>$B!"(B<code><var>domains</var></code> $B$O$=$l$>$l(B
46
+ $B%"%I%l%9%9%Z%C%/(B <code>(...@...)</code> $B$N!"!w$N:8B&$H1&B&$r%I%C%H$G(B <code>split</code> $B$7$?(B
47
+ $BG[Ns$G$9!#$3$N%a%=%C%I$OFbItMQ$G$"$j;H$$$K$/$/$J$C$F$$$^$9!#(B
48
+ <code>Address.parse</code> $B$r;H$C$F$/$@$5$$!#(B
49
+ </p>
50
+
51
+ </dd>
52
+ </dl>
53
+ <h3>$B%$%s%9%?%s%9%a%=%C%I(B</h3>
54
+
55
+ <dl>
56
+ <dt><a name="TMail%3a%3aAddress-address_group%3f"><code>address_group?</code></a> $B"*(B <code>true | false</code></dt>
57
+ <dd>
58
+ <p>
59
+ $B>o$K(B <code>false</code>
60
+ </p>
61
+
62
+ </dd>
63
+ <dt><a name="TMail%3a%3aAddress-spec"><code>spec</code></a> $B"*(B <code>String</code></dt>
64
+ <dd>
65
+ <p>
66
+ $B%"%I%l%9%9%Z%C%/J8;zNs(B <code>("....@....")</code>$B!#(B
67
+ </p>
68
+
69
+ </dd>
70
+ <dt><a name="TMail%3a%3aAddress-routes"><code>routes</code></a> $B"*(B <code>[String]</code></dt>
71
+ <dd>
72
+ <p>
73
+ $BG[Aw7PO)$rI=$9J8;zNs$NG[Ns!#(B<code>'@'</code> $B$O4^$^$J$$!#(B
74
+ </p>
75
+
76
+ </dd>
77
+ <dt><a name="TMail%3a%3aAddress-name"><code>name</code></a> $B"*(B <code>String</code></dt>
78
+ <dt><a name="TMail%3a%3aAddress-phrase"><code>phrase</code></a> $B"*(B <code>String</code></dt>
79
+ <dd>
80
+ <p>
81
+ $BB/$K8@$&%"%I%l%9$N!VK\L>!WItJ,!#%G%3!<%I$5$l$F$$$^$9!#(B
82
+ </p>
83
+
84
+ </dd>
85
+ <dt><a name="TMail%3a%3aAddress-encoded"><code>encoded(eol = "\r\n", <var>encoding</var> = 'j')</code></a> $B"*(B <code>String</code></dt>
86
+ <dd>
87
+ <p>
88
+ eol: String<br>
89
+ encoding: String<br>
90
+ </p>
91
+
92
+ <p>
93
+ <code>B</code> $B%(%s%3!<%I$5$l$?(B <code>RFC2822</code> $B7A<0$NJ8;zNsI=8=$rJV$7$^$9!#(B
94
+ $B9TKv%3!<%I$K(B <code>eol</code>$B!"J8;z%(%s%3!<%G%#%s%0$K(B <code><var>encoding</var></code> $B$r;H$$$^$9!#(B
95
+ $B$?$@$7(B <code><var>encoding</var></code> $B$O(B <code>j</code> $B$7$+<BAu$5$l$F$$$^$;$s!#(B
96
+ </p>
97
+
98
+ </dd>
99
+ <dt><a name="TMail%3a%3aAddress-to_s"><code>to_s(eol = "\n", <var>encoding</var> = 'e')</code></a> $B"*(B <code>String</code></dt>
100
+ <dt><a name="TMail%3a%3aAddress-decoded"><code>decoded(eol = "\n", <var>encoding</var> = 'e')</code></a> $B"*(B <code>String</code></dt>
101
+ <dd>
102
+ <p>
103
+ eol: String<br>
104
+ encoding: String<br>
105
+ </p>
106
+
107
+ <p>
108
+ $B%G%3!<%I$5$l$?(B <code>RFC2822</code> $B7A<0$NJ8;zNsI=8=$rJV$7$^$9!#(B
109
+ $B9TKv%3!<%I$K(B <code>eol</code>$B!"J8;z%(%s%3!<%G%#%s%0$K(B <code><var>encoding</var></code> $B$r;H$$$^$9!#(B
110
+ </p>
111
+
112
+ </dd>
113
+ <dt><a name="TMail%3a%3aAddress-%3d%3d"><code>==(other)</code></a> $B"*(B <code>true | false</code></dt>
114
+ <dd>
115
+ <p>
116
+ other: Object<br>
117
+ </p>
118
+
119
+ <p>
120
+ <code>spec</code> $B$NF1CMH=Dj$K$h$C$F(B <code>self</code> $B$H(B <code>other</code> $B$,Ey$7$$$+H=Dj$7$^$9!#(B
121
+ <code>name</code> $B$d(B <code>routes</code> $B$O1F6A$7$^$;$s!#(B
122
+ </p>
123
+
124
+
125
+ </dd>
126
+ </dl>
127
+ <h2><code>class <a name="TMail%3a%3aAddressGroup">TMail::AddressGroup</a> </code></h2>
128
+
129
+ <h3>$B%/%i%9%a%=%C%I(B</h3>
130
+
131
+ <dl>
132
+ <dt><a name="TMail%3a%3aAddressGroup-new"><code>new(name, <var>addrs</var>)</code></a> $B"*(B <code><a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a></code></dt>
133
+ <dd>
134
+ <p>
135
+ name: String<br>
136
+ addrs: [<a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a>]<br>
137
+ </p>
138
+
139
+ <p>
140
+ $B?7$7$$(B <code>TMail::AddressGroup</code> $B%*%V%8%'%/%H$r:n@.$7$^$9!#(B
141
+ <code>name</code> $B$O%0%k!<%WL>$r<($9J8;zNs!"(B<code><var>addrs</var></code> $B$O(B <code>TMail::Address</code> $B$^$?$O(B
142
+ <code>TMail::AddressGroup</code> $B$NG[Ns$G$J$1$l$P$$$1$^$;$s!#(B
143
+ </p>
144
+
145
+ </dd>
146
+ </dl>
147
+ <h3>$B%$%s%9%?%s%9%a%=%C%I(B</h3>
148
+
149
+ <dl>
150
+ <dt><a name="TMail%3a%3aAddressGroup-address_group%3f"><code>address_group?</code></a> $B"*(B <code>true | false</code></dt>
151
+ <dd>
152
+ <p>
153
+ $B>o$K(B <code>true</code>
154
+ </p>
155
+
156
+ </dd>
157
+ <dt><a name="TMail%3a%3aAddressGroup-name"><code>name</code></a> $B"*(B <code>String</code></dt>
158
+ <dd>
159
+ <p>
160
+ $B%0%k!<%WL>!#(B
161
+ </p>
162
+
163
+ </dd>
164
+ <dt><a name="TMail%3a%3aAddressGroup-addresses"><code>addresses</code></a> $B"*(B <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a>]</code></dt>
165
+ <dd>
166
+ <p>
167
+ <code>TMail::Address</code> $B$^$?$O(B <code>TMail::AddressGroup</code> $B%*%V%8%'%/%H$NG[Ns!#(B
168
+ </p>
169
+
170
+ </dd>
171
+ <dt><a name="TMail%3a%3aAddressGroup-to_a"><code>to_a</code></a> $B"*(B <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a>]</code></dt>
172
+ <dt><a name="TMail%3a%3aAddressGroup-to_ary"><code>to_ary</code></a> $B"*(B <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a>]</code></dt>
173
+ <dd>
174
+ <p>
175
+ <code>addresses.dup</code> $B$HF1$8$G$9!#(B
176
+ </p>
177
+
178
+ </dd>
179
+ <dt><a name="TMail%3a%3aAddressGroup-flatten"><code>flatten</code></a> $B"*(B <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
180
+ <dd>
181
+ <p>
182
+ $B:F5"E*$K(B <code>TMail::AddressGroup</code> $B%*%V%8%'%/%H$rJ?C32=$7!"(B
183
+ <code>TMail::Address</code> $B%*%V%8%'%/%H$NG[Ns$rF@$^$9!#(B
184
+ </p>
185
+
186
+ </dd>
187
+ <dt><a name="TMail%3a%3aAddressGroup-add"><code>add(addr)</code></a></dt>
188
+ <dt><a name="TMail%3a%3aAddressGroup-push"><code>push(addr)</code></a></dt>
189
+ <dd>
190
+ <p>
191
+ addr: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a><br>
192
+ </p>
193
+
194
+ <p>
195
+ <code>TMail::Address</code> $B$^$?$O(B <code>TMail::AddressGroup</code> $B%*%V%8%'%/%H$r(B
196
+ $B$3$N%0%k!<%W$KDI2C$7$^$9!#(B
197
+ </p>
198
+
199
+ </dd>
200
+ <dt><a name="TMail%3a%3aAddressGroup-delete"><code>delete(addr)</code></a></dt>
201
+ <dd>
202
+ <p>
203
+ addr: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a><br>
204
+ </p>
205
+
206
+ <p>
207
+ <code>TMail::Address</code> $B$^$?$O(B <code>TMail::AddressGroup</code> $B%*%V%8%'%/%H$r(B
208
+ $B$3$N%0%k!<%W$+$i:o=|$7!"Hs(B <code>nil</code> $B$rJV$7$^$9!#$b$H$b$H$3$N(B
209
+ $B%"%I%l%9$,%0%k!<%WFb$KB8:_$7$J$$>l9g$OL5;k$7$F(B <code>nil</code> $B$rJV$7$^$9!#(B
210
+ </p>
211
+
212
+ </dd>
213
+ <dt><a name="TMail%3a%3aAddressGroup-each%20%7b%7ca%7c%20%2e%2e%2e%2e%20%7d"><code>each {|a| .... }</code></a></dt>
214
+ <dd>
215
+ <p>
216
+ a: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a><br>
217
+ </p>
218
+
219
+ <p>
220
+ <code><a href="address.html#TMail%3a%3aAddressGroup-addresses">#addresses</a></code> $B$KBP$9$k7+$jJV$7!#(B
221
+ </p>
222
+
223
+ </dd>
224
+ <dt><a name="TMail%3a%3aAddressGroup-each_address%20%7b%7ca%7c%20%2e%2e%2e%2e%20%7d"><code>each_address {|a| .... }</code></a></dt>
225
+ <dd>
226
+ <p>
227
+ a: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a><br>
228
+ </p>
229
+
230
+ <p>
231
+ <code><a href="address.html#TMail%3a%3aAddressGroup-addresses">#addresses</a></code> $B$KBP$9$k7+$jJV$7!#$?$@$7(B <code>TMail::AddressGroup</code> $B%*%V%8%'%/%H$K(B
232
+ $BBP$7$F$OFbIt$KF~$C$F:F5"E*$K7+$jJV$7$^$9!#(B
233
+ </p>
234
+
235
+ </dd>
236
+ <dt><a name="TMail%3a%3aAddressGroup-encoded"><code>encoded(eol = "\r\n", <var>encoding</var> = 'j')</code></a> $B"*(B <code>String</code></dt>
237
+ <dd>
238
+ <p>
239
+ eol: String<br>
240
+ encoding: String<br>
241
+ </p>
242
+
243
+ <p>
244
+ B $B%(%s%3!<%I$5$l$?(B RFC2822 $B7A<0$NJ8;zNsI=8=$rJV$7$^$9!#(B
245
+ </p>
246
+
247
+ </dd>
248
+ <dt><a name="TMail%3a%3aAddressGroup-decoded"><code>decoded(eol = "\n", <var>encoding</var> = 'e')</code></a> $B"*(B <code>String</code></dt>
249
+ <dd>
250
+ <p>
251
+ eol: String<br>
252
+ encoding: String<br>
253
+ </p>
254
+
255
+ <p>
256
+ $B%G%3!<%I$5$l$?(B <code>RFC2822</code> $B7A<0$NJ8;zNsI=8=$rJV$7$^$9!#(B
257
+ </p>
258
+
259
+ </dd>
260
+ <dt><a name="TMail%3a%3aAddressGroup-%3d%3d"><code>==(other)</code></a> $B"*(B <code>true | false</code></dt>
261
+ <dt><a name="TMail%3a%3aAddressGroup-eql%3f"><code>eql?(other)</code></a> $B"*(B <code>true | false</code></dt>
262
+ <dd>
263
+ <p>
264
+ other: Object<br>
265
+ </p>
266
+
267
+ <p>
268
+ <code><a href="address.html#TMail%3a%3aAddressGroup-addresses">#addresses</a></code> $B$NF1CMH=Dj$K$h$C$FF1$8FbMF$+$I$&$+$rH=CG$7$^$9!#(B
269
+ <code><a href="address.html#TMail%3a%3aAddressGroup-name">#name</a></code> $B$O1F6A$7$^$;$s!#(B
270
+ </p>
271
+ </dd>
272
+ </dl>
273
+
274
+ </body>
275
+ </html>