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,30 @@
1
+ <h1><code>class <a name="TMail%3a%3aConfig">TMail::Config</a> </code></h1>
2
+
3
+ <h2>Class Methods</h2>
4
+
5
+ <dl>
6
+ <dt><a name="TMail%3a%3aConfig-new"><code>new(strict)</code></a> -&gt; <code><a href="config.html#TMail%3a%3aConfig">TMail::Config</a></code></dt>
7
+ <dd>
8
+ <p>
9
+ strict: true | false<br>
10
+ </p>
11
+
12
+ <p>
13
+ create a TMail::Config object.
14
+ set true to all strict_* attributes if STRICT is true.
15
+ </p>
16
+
17
+ </dd>
18
+ </dl>
19
+ <h2>Instance Methods</h2>
20
+
21
+ <dl>
22
+ <dt><a name="TMail%3a%3aConfig-strict_parse%3f"><code>strict_parse?</code></a></dt>
23
+ <dd>
24
+ <p>
25
+ If this flag is true, TMail's parsers may raise
26
+ TMail::SyntaxError. If not, it never raises SynaxError.
27
+ </p>
28
+ </dd>
29
+ </dl>
30
+
@@ -0,0 +1,101 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html lang="en">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf8">
5
+ <meta http-equiv="Content-Language" content="en">
6
+
7
+ <link rel="stylesheet" href="../css/clean.css" type="text/css" media="screen, projection, print"/>
8
+ <link rel="stylesheet" href="../css/layout.css" type="text/css" media="screen, projection, print"/>
9
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen, projection, print"/>
10
+
11
+ <script type="text/javascript" src="../js/jquery.js"></script>
12
+
13
+ <script>
14
+ $(document).ready(function(){
15
+ $('#usage').load('usage.html');
16
+ $('#mail').load('mail.html');
17
+ $('#address').load('address.html');
18
+ $('#mailbox').load('mailbox.html');
19
+ $('#port').load('port.html');
20
+ $('#config').load('config.html');
21
+ $('#tmail').load('tmail.html');
22
+ });
23
+ </script>
24
+
25
+ <link rel="icon" href="../img/tfire.jpg" type="image/x-icon"/>
26
+
27
+ <title>TMail &mdash; A Ruby Email Handler</title>
28
+
29
+ <style>
30
+ .section { margin-top: 50px; }
31
+ </style>
32
+ </head>
33
+ <body>
34
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
35
+ </script>
36
+ <script type="text/javascript">
37
+ _uacct = "UA-2871747-1";
38
+ urchinTracker();
39
+ </script>
40
+
41
+ <div class="container">
42
+
43
+ <div class="logo">
44
+ <img src="../img/stamp-sm.jpg"/>
45
+ </div>
46
+
47
+ <div class="title">
48
+ <h1>TMail</h1>
49
+ <h2>Ruby on Mail</h2>
50
+ </div>
51
+
52
+ <div class="menu">
53
+ &nbsp;
54
+ <a href="../index.html">Home</a> &nbsp;&nbsp;
55
+ <a href="../quickstart/index.html">Quickstart</a> &nbsp;&nbsp;
56
+ <a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a> &nbsp;&nbsp;
57
+ <a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a> &nbsp;&nbsp;
58
+ <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a> &nbsp;&nbsp;
59
+ <a href="../reference/index.html">Reference</a> &nbsp;&nbsp;
60
+ <a href="../rdoc/index.html">RDocs</a> &nbsp;&nbsp;
61
+ <a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a> &nbsp;&nbsp;
62
+ <a href="../contributing/index.html">Contributing</a>
63
+ </div>
64
+
65
+ <div class="main">
66
+ <h1>TMail API Reference <span style="font-size: 11px;">v0.10</span></h1>
67
+
68
+ <p>Note, this might be a bit confusing, why a reference and an RDoc? Well
69
+ we haven't finished moving everything over to RDoc yet, so in the mean
70
+ time, we thought we would leave this here. If you want to help out on
71
+ getting the RDoc up to date, let me know on the
72
+ <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">TMail Talk Mailing
73
+ List</a> - Mikel.
74
+
75
+ <h1>Contents</h1>
76
+ <ul>
77
+ <li><a href="#mail" >Mail Message Class </a></li>
78
+ <li><a href="#address">Mail Address Classes </a></li>
79
+ <li><a href="#mailbox">Mailbox Classes </a></li>
80
+ <li><a href="#port" >Port and Stream Classes </a></li>
81
+ <li><a href="#config" >Config Class </a></li>
82
+ <li><a href="#tmail" >TMail Module </a></li>
83
+ </ul>
84
+
85
+ <div id="mail" ></div>
86
+ <div id="address"></div>
87
+ <div id="mailbox"></div>
88
+ <div id="port" ></div>
89
+ <div id="config" ></div>
90
+ <div id="tmail" ></div>
91
+ </div>
92
+
93
+ <div class="footer">
94
+ Copyright (c) 2007 TMail Project &reg; All Rights Reserved
95
+ </div>
96
+
97
+ <!-- Google Analytics -->
98
+ </div>
99
+ </body>
100
+ </html>
101
+
@@ -0,0 +1,726 @@
1
+ <h1><code>class <a name="TMail%3a%3aMail">TMail::Mail</a> </code></h1>
2
+
3
+ <h2>Class Methods</h2>
4
+
5
+ <dl>
6
+ <dt><a name="TMail%3a%3aMail-new"><code>new(port = TMail::StringPort.new, <var>config</var> = DEFAULT_CONFIG)</code></a> -&gt; <code><a href="mail.html#TMail%3a%3aMail">TMail::Mail</a></code></dt>
7
+ <dd>
8
+ <p>
9
+ port: <a href="port.html#TMail%3a%3aPort">TMail::Port</a><br>
10
+ config: <a href="config.html#TMail%3a%3aConfig">TMail::Config</a><br>
11
+ </p>
12
+
13
+ <p>
14
+ creates a new <code>TMail::Mail</code> object from PORT.
15
+ </p>
16
+
17
+ </dd>
18
+ <dt><a name="TMail%3a%3aMail-load"><code>load(filename)</code></a> -&gt; <code><a href="mail.html#TMail%3a%3aMail">TMail::Mail</a></code></dt>
19
+ <dd>
20
+ <p>
21
+ filename: String<br>
22
+ </p>
23
+
24
+ <p>
25
+ creates a new <code>TMail::Mail</code> object. FILENAME is the name of file
26
+ which contains just one mail (e.g. MH mail file).
27
+ </p>
28
+
29
+ </dd>
30
+ <dt><a name="TMail%3a%3aMail-parse"><code>parse(str)</code></a> -&gt; <code><a href="mail.html#TMail%3a%3aMail">TMail::Mail</a></code></dt>
31
+ <dd>
32
+ <p>
33
+ str: String<br>
34
+ </p>
35
+
36
+ <p>
37
+ parses STR and creates a new <code>TMail::Mail</code> object.
38
+ </p>
39
+
40
+ </dd>
41
+ </dl>
42
+ <h2>Instance Methods</h2>
43
+
44
+ <dl>
45
+ <dt><a name="TMail%3a%3aMail-port"><code>port</code></a> -&gt; <code><a href="port.html#TMail%3a%3aPort">TMail::Port</a></code></dt>
46
+ <dd>
47
+ <p>
48
+ the source port of this mail.
49
+ </p>
50
+
51
+ </dd>
52
+ <dt><a name="TMail%3a%3aMail-body_port"><code>body_port</code></a> -&gt; <code><a href="port.html#TMail%3a%3aPort">TMail::Port</a></code></dt>
53
+ <dd>
54
+ <p>
55
+ the port to save body of this mail.
56
+ </p>
57
+
58
+ </dd>
59
+ <dt><a name="TMail%3a%3aMail-each%20%7b%7cline%7c%20%2e%2e%2e%2e%20%7d"><code>each {|line| .... }</code></a></dt>
60
+ <dd>
61
+ <p>
62
+ line: String<br>
63
+ </p>
64
+
65
+ <p>
66
+ iterates for each lines of mail body.
67
+ </p>
68
+
69
+ </dd>
70
+ <dt><a name="TMail%3a%3aMail-body"><code>body</code></a> -&gt; <code>String</code></dt>
71
+ <dt><a name="TMail%3a%3aMail-preamble"><code>preamble</code></a> -&gt; <code>String</code></dt>
72
+ <dd>
73
+ <p>
74
+ the mail body. If the mail is a MIME multipart mail,
75
+ this attribute represents "preamble".
76
+ </p>
77
+
78
+ </dd>
79
+ <dt><a name="TMail%3a%3aMail-parts"><code>parts</code></a> -&gt; <code>[<a href="mail.html#TMail%3a%3aMail">TMail::Mail</a>]</code></dt>
80
+ <dd>
81
+ <p>
82
+ parts of this mail. (valid only if this mail is a MIME multipart mail)
83
+ </p>
84
+
85
+ </dd>
86
+ <dt><a name="TMail%3a%3aMail-epilogue"><code>epilogue</code></a> -&gt; <code>String</code></dt>
87
+ <dd>
88
+ <p>
89
+ If the mail was MIME multipart mail, this represent "epilogue" string.
90
+ Else, empty string.
91
+ </p>
92
+
93
+ </dd>
94
+ <dt><a name="TMail%3a%3aMail-multipart%3f"><code>multipart?</code></a></dt>
95
+ <dd>
96
+ <p>
97
+ true if the message is a multi-part mail.
98
+ </p>
99
+
100
+ </dd>
101
+ <dt><a name="TMail%3a%3aMail-encoded"><code>encoded(eol = "\n", <var>encoding</var> = 'j')</code></a> -&gt; <code>String</code></dt>
102
+ <dd>
103
+ <p>
104
+ eol: String<br>
105
+ encoding: String<br>
106
+ </p>
107
+
108
+ <p>
109
+ converts the mail object to a MIME encoded string.
110
+ </p>
111
+
112
+ </dd>
113
+ <dt><a name="TMail%3a%3aMail-decoded"><code>decoded(eol = "\n", <var>encoding</var> = 'e')</code></a> -&gt; <code>String</code></dt>
114
+ <dt><a name="TMail%3a%3aMail-to_s"><code>to_s(eol = "\n", <var>encoding</var> = 'e')</code></a> -&gt; <code>String</code></dt>
115
+ <dd>
116
+ <p>
117
+ eol: String<br>
118
+ encoding: String<br>
119
+ </p>
120
+
121
+ <p>
122
+ converts the mail object to a decoded string.
123
+ </p>
124
+
125
+ </dd>
126
+ <dt><a name="TMail%3a%3aMail-inspect"><code>inspect</code></a> -&gt; <code>String</code></dt>
127
+ <dd>
128
+ <p>
129
+ returns simple string representation like
130
+ <code>"#&lt;TMail::Mail port=&lt;StringPort:str=...&gt;&gt;"</code>
131
+ </p>
132
+
133
+ </dd>
134
+ <dt><a name="TMail%3a%3aMail-write_back"><code>write_back(eol = "\n", <var>encoding</var> = 'e')</code></a></dt>
135
+ <dd>
136
+ <p>
137
+ eol: String<br>
138
+ encoding: String<br>
139
+ </p>
140
+
141
+ <p>
142
+ converts this mail into string and write back to <code>body_port</code>,
143
+ setting line terminator to EOL.
144
+ </p>
145
+
146
+ </dd>
147
+ </dl>
148
+ <h3>Property Access Method</h3>
149
+
150
+ <dl>
151
+ <dt><a name="TMail%3a%3aMail-date"><code>date(default = nil)</code></a> -&gt; <code>Time</code></dt>
152
+ <dt><a name="TMail%3a%3aMail-date%3d"><code>date=(datetime)</code></a></dt>
153
+ <dd>
154
+ <p>
155
+ datetime: Time<br>
156
+ default: Object<br>
157
+ </p>
158
+
159
+ <p>
160
+ a Time object of Date: header field.
161
+ </p>
162
+
163
+ </dd>
164
+ <dt><a name="TMail%3a%3aMail-strftime"><code>strftime(format, <var>default</var> = nil)</code></a> -&gt; <code>String</code></dt>
165
+ <dd>
166
+ <p>
167
+ format: String<br>
168
+ default: Object<br>
169
+ </p>
170
+
171
+ <p>
172
+ is equals to <code>date.strftime(format)</code>.
173
+ If date is not exist, this method does nothing and
174
+ returns <var>default</var>.
175
+ </p>
176
+
177
+ </dd>
178
+ <dt><a name="TMail%3a%3aMail-to"><code>to(default = nil)</code></a> -&gt; <code>[String]</code></dt>
179
+ <dt><a name="TMail%3a%3aMail-to%3d"><code>to=(specs)</code></a></dt>
180
+ <dd>
181
+ <p>
182
+ specs: String | [String]<br>
183
+ default: Object<br>
184
+ </p>
185
+
186
+ <p>
187
+ address specs for To: header field.
188
+ </p>
189
+
190
+ </dd>
191
+ <dt><a name="TMail%3a%3aMail-to_addrs"><code>to_addrs(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | <a href="address.html#TMail%3a%3aAddressGroup">TMail::AddressGroup</a>]</code></dt>
192
+ <dt><a name="TMail%3a%3aMail-to_addrs%3d"><code>to_addrs=(addrs)</code></a></dt>
193
+ <dd>
194
+ <p>
195
+ addrs: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | [<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]<br>
196
+ default: Object<br>
197
+ </p>
198
+
199
+ <p>
200
+ adresses which is represented in To: header field.
201
+ </p>
202
+
203
+ </dd>
204
+ <dt><a name="TMail%3a%3aMail-cc"><code>cc(default = nil)</code></a> -&gt; <code>[String]</code></dt>
205
+ <dt><a name="TMail%3a%3aMail-cc%3d"><code>cc=(specs)</code></a></dt>
206
+ <dd>
207
+ <p>
208
+ specs: String | [String]<br>
209
+ default: Object<br>
210
+ </p>
211
+
212
+ <p>
213
+ address specs for Cc: header field.
214
+ </p>
215
+
216
+ </dd>
217
+ <dt><a name="TMail%3a%3aMail-cc_addrs"><code>cc_addrs(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
218
+ <dt><a name="TMail%3a%3aMail-cc_addrs%3d"><code>cc_addrs=(addrs)</code></a></dt>
219
+ <dd>
220
+ <p>
221
+ addrs: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | [<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]<br>
222
+ default: Object<br>
223
+ </p>
224
+
225
+ <p>
226
+ addresses which is represented in Cc: header field.
227
+ </p>
228
+
229
+ </dd>
230
+ <dt><a name="TMail%3a%3aMail-bcc"><code>bcc(default = nil)</code></a> -&gt; <code>[String]</code></dt>
231
+ <dt><a name="TMail%3a%3aMail-bcc%3d"><code>bcc=(specs)</code></a></dt>
232
+ <dd>
233
+ <p>
234
+ specs: String | [String]<br>
235
+ default: Object<br>
236
+ </p>
237
+
238
+ <p>
239
+ address specs for Bcc: header field.
240
+ </p>
241
+
242
+ </dd>
243
+ <dt><a name="TMail%3a%3aMail-bcc_addrs"><code>bcc_addrs(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
244
+ <dt><a name="TMail%3a%3aMail-bcc_addrs%3d"><code>bcc_addrs=(addrs)</code></a></dt>
245
+ <dd>
246
+ <p>
247
+ addrs: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | [<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]<br>
248
+ default: Object<br>
249
+ </p>
250
+
251
+ <p>
252
+ adresses which is represented in Bcc: header field.
253
+ </p>
254
+
255
+ </dd>
256
+ <dt><a name="TMail%3a%3aMail-from"><code>from(default = nil)</code></a> -&gt; <code>[String]</code></dt>
257
+ <dt><a name="TMail%3a%3aMail-from%3d"><code>from=(specs)</code></a></dt>
258
+ <dd>
259
+ <p>
260
+ specs: String | [String]<br>
261
+ default: Object<br>
262
+ </p>
263
+
264
+ <p>
265
+ address specs for From: header field.
266
+ </p>
267
+
268
+ </dd>
269
+ <dt><a name="TMail%3a%3aMail-from_addrs"><code>from_addrs(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
270
+ <dt><a name="TMail%3a%3aMail-from_addrs%3d"><code>from_addrs=(addrs)</code></a></dt>
271
+ <dd>
272
+ <p>
273
+ addrs: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | [<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]<br>
274
+ default: Object<br>
275
+ </p>
276
+
277
+ <p>
278
+ adresses which is represented in From: header field.
279
+ </p>
280
+
281
+ </dd>
282
+ <dt><a name="TMail%3a%3aMail-friendly_from"><code>friendly_from(default = nil)</code></a> -&gt; <code>String</code></dt>
283
+ <dd>
284
+ <p>
285
+ default: Object<br>
286
+ </p>
287
+
288
+ <p>
289
+ a "phrase" part or address spec of the first From: address.
290
+ </p>
291
+
292
+ </dd>
293
+ <dt><a name="TMail%3a%3aMail-reply_to"><code>reply_to(default = nil)</code></a> -&gt; <code>[String]</code></dt>
294
+ <dt><a name="TMail%3a%3aMail-reply_to%3d"><code>reply_to=(specs)</code></a></dt>
295
+ <dd>
296
+ <p>
297
+ specs: String | [String]<br>
298
+ default: Object<br>
299
+ </p>
300
+
301
+ <p>
302
+ address specs of Reply-To: header field.
303
+ </p>
304
+
305
+ </dd>
306
+ <dt><a name="TMail%3a%3aMail-reply_to_addrs"><code>reply_to_addrs(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
307
+ <dt><a name="TMail%3a%3aMail-reply_to_addrs%3d"><code>reply_to_addrs=(addrs)</code></a></dt>
308
+ <dd>
309
+ <p>
310
+ addrs: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a> | [<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]<br>
311
+ default: Object<br>
312
+ </p>
313
+
314
+ <p>
315
+ adresses which is represented in Reply-To: header field.
316
+ </p>
317
+
318
+ </dd>
319
+ <dt><a name="TMail%3a%3aMail-sender"><code>sender(default = nil)</code></a> -&gt; <code>String</code></dt>
320
+ <dt><a name="TMail%3a%3aMail-sender%3d"><code>sender=(spec)</code></a></dt>
321
+ <dd>
322
+ <p>
323
+ spec: String<br>
324
+ </p>
325
+
326
+ <p>
327
+ address spec for Sender: header field.
328
+ </p>
329
+
330
+ </dd>
331
+ <dt><a name="TMail%3a%3aMail-sender_addr"><code>sender_addr(default = nil)</code></a> -&gt; <code><a href="address.html#TMail%3a%3aAddress">TMail::Address</a></code></dt>
332
+ <dt><a name="TMail%3a%3aMail-sender_addr%3d"><code>sender_addr=(addr)</code></a></dt>
333
+ <dd>
334
+ <p>
335
+ addr: <a href="address.html#TMail%3a%3aAddress">TMail::Address</a><br>
336
+ </p>
337
+
338
+ <p>
339
+ an address which is represented in Sender: header field.
340
+ </p>
341
+
342
+ </dd>
343
+ <dt><a name="TMail%3a%3aMail-subject"><code>subject(default = nil)</code></a> -&gt; <code>String</code></dt>
344
+ <dt><a name="TMail%3a%3aMail-subject%3d"><code>subject=(sbj)</code></a></dt>
345
+ <dd>
346
+ <p>
347
+ sbj: String<br>
348
+ </p>
349
+
350
+ <p>
351
+ the subject of the message.
352
+ </p>
353
+
354
+ </dd>
355
+ <dt><a name="TMail%3a%3aMail-message_id"><code>message_id(default = nil)</code></a> -&gt; <code>String</code></dt>
356
+ <dt><a name="TMail%3a%3aMail-message_id%3d"><code>message_id=(id)</code></a></dt>
357
+ <dd>
358
+ <p>
359
+ id: String<br>
360
+ </p>
361
+
362
+ <p>
363
+ message ID string.
364
+ </p>
365
+
366
+ </dd>
367
+ <dt><a name="TMail%3a%3aMail-in_reply_to"><code>in_reply_to(default = nil)</code></a> -&gt; <code>[String]</code></dt>
368
+ <dt><a name="TMail%3a%3aMail-in_reply_to%3d"><code>in_reply_to=(ids)</code></a></dt>
369
+ <dd>
370
+ <p>
371
+ ids: String | [String]<br>
372
+ </p>
373
+
374
+ <p>
375
+ message IDs of replying mails.
376
+ </p>
377
+
378
+ </dd>
379
+ <dt><a name="TMail%3a%3aMail-references"><code>references(default = nil)</code></a> -&gt; <code>[String]</code></dt>
380
+ <dt><a name="TMail%3a%3aMail-references%3d"><code>references=(ids)</code></a></dt>
381
+ <dd>
382
+ <p>
383
+ ids: String | [String]<br>
384
+ </p>
385
+
386
+ <p>
387
+ message IDs of all referencing (replying) mails.
388
+ </p>
389
+
390
+ </dd>
391
+ <dt><a name="TMail%3a%3aMail-mime_version"><code>mime_version(default = nil)</code></a> -&gt; <code>String</code></dt>
392
+ <dt><a name="TMail%3a%3aMail-mime_version%3d"><code>mime_version=(ver)</code></a></dt>
393
+ <dd>
394
+ <p>
395
+ ver: String<br>
396
+ </p>
397
+
398
+ <p>
399
+ MIME version.
400
+ If it does not exist, returns the DEFAULT.
401
+ </p>
402
+
403
+ </dd>
404
+ <dt><a name="TMail%3a%3aMail-set_mime_version"><code>set_mime_version(major, <var>minor</var>)</code></a></dt>
405
+ <dd>
406
+ <p>
407
+ major: Integer<br>
408
+ minor: Integer<br>
409
+ </p>
410
+
411
+ <p>
412
+ set MIME version from integers.
413
+ </p>
414
+
415
+ </dd>
416
+ <dt><a name="TMail%3a%3aMail-content_type"><code>content_type(default = nil)</code></a> -&gt; <code>String</code></dt>
417
+ <dd>
418
+ <p>
419
+ the content type of the mail message (e.g. "text/plain").
420
+ If it does not exist, returns the DEFAULT.
421
+ </p>
422
+
423
+ </dd>
424
+ <dt><a name="TMail%3a%3aMail-main_type"><code>main_type(default = nil)</code></a> -&gt; <code>String</code></dt>
425
+ <dd>
426
+ <p>
427
+ the main content type of the mail message. (e.g. "text")
428
+ If it does not exist, returns the DEFAULT.
429
+ </p>
430
+
431
+ </dd>
432
+ <dt><a name="TMail%3a%3aMail-sub_type"><code>sub_type(default = nil)</code></a> -&gt; <code>String</code></dt>
433
+ <dd>
434
+ <p>
435
+ the sub content type of the mail message. (e.g. "plain")
436
+ If it does not exist, returns the DEFAULT.
437
+ </p>
438
+
439
+ </dd>
440
+ <dt><a name="TMail%3a%3aMail-content_type%3d"><code>content_type=(ctype)</code></a></dt>
441
+ <dd>
442
+ <p>
443
+ ctype: String<br>
444
+ </p>
445
+
446
+ <p>
447
+ set content type to STR.
448
+ </p>
449
+
450
+ </dd>
451
+ <dt><a name="TMail%3a%3aMail-set_content_type"><code>set_content_type(main, <var>sub</var>, <var>params</var> = nil)</code></a></dt>
452
+ <dd>
453
+ <p>
454
+ main: String<br>
455
+ sub: String<br>
456
+ params: {String => String}<br>
457
+ </p>
458
+
459
+ <p>
460
+ set Content-type: header as "main/sub; param=val; param=val; ...".
461
+ </p>
462
+
463
+ </dd>
464
+ <dt><a name="TMail%3a%3aMail-type_param"><code>type_param(name, <var>default</var> = nil)</code></a> -&gt; <code>String</code></dt>
465
+ <dd>
466
+ <p>
467
+ name: String<br>
468
+ </p>
469
+
470
+ <p>
471
+ returns the value corresponding to the case-insensitive
472
+ NAME of Content-Type parameter.
473
+ If it does not exist, returns the <var>default</var>.
474
+ </p>
475
+ <pre>
476
+ # example
477
+ mail['Content-Type'] = 'text/plain; charset=iso-2022-jp'
478
+ p mail.type_param('charset') # "iso-2022-jp"
479
+ </pre>
480
+
481
+ </dd>
482
+ <dt><a name="TMail%3a%3aMail-multipart%3f"><code>multipart?</code></a> -&gt; <code>true | false</code></dt>
483
+ <dd>
484
+ <p>
485
+ judge if this mail is MIME multi part mail,
486
+ by inspecting Content-Type: header field.
487
+ </p>
488
+
489
+ </dd>
490
+ <dt><a name="TMail%3a%3aMail-transfer_encoding"><code>transfer_encoding(default = nil)</code></a> -&gt; <code>String</code></dt>
491
+ <dt><a name="TMail%3a%3aMail-transfer_encoding%3d"><code>transfer_encoding=(encoding)</code></a></dt>
492
+ <dd>
493
+ <p>
494
+ encoding: String<br>
495
+ </p>
496
+ <p>
497
+ Content-Transfer-Encoding. (e.g. "7bit" "Base64")
498
+ </p>
499
+
500
+ </dd>
501
+ <dt><a name="TMail%3a%3aMail-disposition"><code>disposition(default = nil)</code></a> -&gt; <code>String</code></dt>
502
+ <dt><a name="TMail%3a%3aMail-disposition%3d"><code>disposition=(pos)</code></a></dt>
503
+ <dd>
504
+ <p>
505
+ pos: String<br>
506
+ </p>
507
+
508
+ <p>
509
+ Content-Disposition main value (e.g. "attachment").
510
+ If it does not exist, returns the DEFAULT.
511
+ </p>
512
+ <pre>
513
+ # example
514
+ mail['Content-Disposition'] = 'attachement; filename="test.rb"'
515
+ p mail.disposition # "attachment"
516
+ </pre>
517
+
518
+ </dd>
519
+ <dt><a name="TMail%3a%3aMail-set_content_disposition"><code>set_content_disposition(pos, <var>params</var> = nil)</code></a></dt>
520
+ <dd>
521
+ <p>
522
+ pos: String<br>
523
+ params: {String => String}<br>
524
+ </p>
525
+
526
+ <p>
527
+ set content disposition.
528
+ </p>
529
+
530
+ </dd>
531
+ <dt><a name="TMail%3a%3aMail-disposition_param"><code>disposition_param(key, <var>default</var> = nil)</code></a> -&gt; <code>String</code></dt>
532
+ <dd>
533
+ <p>
534
+ key: String<br>
535
+ </p>
536
+
537
+ <p>
538
+ returns a value corresponding to the Content-Disposition
539
+ parameter NAME (e.g. filename).
540
+ If it does not exist, returns the <var>default</var>.
541
+ </p>
542
+ <pre>
543
+ # example
544
+ mail.disposition_param('filename')
545
+ </pre>
546
+
547
+ </dd>
548
+ <dt><a name="TMail%3a%3aMail-destinations"><code>destinations(default = nil)</code></a> -&gt; <code>[String]</code></dt>
549
+ <dd>
550
+ <p>
551
+ all address specs which are contained in To:, Cc: and
552
+ Bcc: header fields.
553
+ </p>
554
+
555
+ </dd>
556
+ <dt><a name="TMail%3a%3aMail-reply_addresses"><code>reply_addresses(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
557
+ <dd>
558
+ <p>
559
+ addresses to we reply to.
560
+ </p>
561
+
562
+ </dd>
563
+ <dt><a name="TMail%3a%3aMail-error_reply_addresses"><code>error_reply_addresses(default = nil)</code></a> -&gt; <code>[<a href="address.html#TMail%3a%3aAddress">TMail::Address</a>]</code></dt>
564
+ <dd>
565
+ <p>
566
+ addresses to use when returning error message.
567
+ </p>
568
+
569
+ </dd>
570
+ </dl>
571
+ <h3>Direct Header Handling Methods</h3>
572
+
573
+ <dl>
574
+ <dt><a name="TMail%3a%3aMail-clear"><code>clear</code></a></dt>
575
+ <dd>
576
+ <p>
577
+ clears all header.
578
+ </p>
579
+
580
+ </dd>
581
+ <dt><a name="TMail%3a%3aMail-keys"><code>keys</code></a> -&gt; <code>[TMail::HeaderField]</code></dt>
582
+ <dd>
583
+ <p>
584
+ returns an array of contained header names.
585
+ </p>
586
+
587
+ </dd>
588
+ <dt><a name="TMail%3a%3aMail-%5b%5d"><code>[](name)</code></a> -&gt; <code>TMail::HeaderField</code></dt>
589
+ <dd>
590
+ <p>
591
+ name: String<br>
592
+ </p>
593
+
594
+ <p>
595
+ returns a header field object corresponding to the case-insensitive
596
+ key NAME. e.g. mail["To"]
597
+ </p>
598
+
599
+ </dd>
600
+ <dt><a name="TMail%3a%3aMail-%5b%5d%3d"><code>[]=(name, <var>field</var>)</code></a></dt>
601
+ <dd>
602
+ <p>
603
+ name: String<br>
604
+ field: TMail::HeaderField<br>
605
+ </p>
606
+
607
+ <p>
608
+ set NAME header field to <var>field</var>.
609
+ </p>
610
+
611
+ </dd>
612
+ <dt><a name="TMail%3a%3aMail-delete"><code>delete(name)</code></a></dt>
613
+ <dd>
614
+ <p>
615
+ name: String<br>
616
+ </p>
617
+ <p>
618
+ deletes header corresponding to case-insensitive key NAME.
619
+ </p>
620
+
621
+ </dd>
622
+ <dt><a name="TMail%3a%3aMail-delete_if%20%7b%7cname%2c%20field%7c%20%2e%2e%2e%2e%20%7d"><code>delete_if {|name, <var>field</var>| .... }</code></a></dt>
623
+ <dd>
624
+ <p>
625
+ name: String<br>
626
+ field: TMail::HeaderField<br>
627
+ </p>
628
+
629
+ <p>
630
+ evaluates block with a name of header and header field object,
631
+ and delete the header if block returns true.
632
+ </p>
633
+
634
+ </dd>
635
+ <dt><a name="TMail%3a%3aMail-each_header%20%7b%7cname%2c%20field%7c%20%2e%2e%2e%2e%20%7d"><code>each_header {|name, <var>field</var>| .... }</code></a></dt>
636
+ <dt><a name="TMail%3a%3aMail-each_pair%20%7b%7cname%2c%20field%7c%20%2e%2e%2e%2e%20%7d"><code>each_pair {|name, <var>field</var>| .... }</code></a></dt>
637
+ <dd>
638
+ <p>
639
+ name: String<br>
640
+ field: TMail::HeaderField<br>
641
+ </p>
642
+
643
+ <p>
644
+ iterates for each header name and its field object.
645
+ </p>
646
+
647
+ </dd>
648
+ <dt><a name="TMail%3a%3aMail-each_header_name%20%7b%7cname%7c%20%2e%2e%2e%2e%20%7d"><code>each_header_name {|name| .... }</code></a></dt>
649
+ <dt><a name="TMail%3a%3aMail-each_key%20%7b%7cname%7c%20%2e%2e%2e%2e%20%7d"><code>each_key {|name| .... }</code></a></dt>
650
+ <dd>
651
+ <p>
652
+ name: String<br>
653
+ </p>
654
+
655
+ <p>
656
+ iterates for each contained header names.
657
+ </p>
658
+
659
+ </dd>
660
+ <dt><a name="TMail%3a%3aMail-each_field%20%7b%7cfield%7c%20%2e%2e%2e%2e%20%7d"><code>each_field {|field| .... }</code></a></dt>
661
+ <dt><a name="TMail%3a%3aMail-each_value%20%7b%7cfield%7c%20%2e%2e%2e%2e%20%7d"><code>each_value {|field| .... }</code></a></dt>
662
+ <dd>
663
+ <p>
664
+ field: TMail::HeaderField<br>
665
+ </p>
666
+
667
+ <p>
668
+ iterates for each header field objects.
669
+ </p>
670
+
671
+ </dd>
672
+ <dt><a name="TMail%3a%3aMail-orderd_each%20%7b%7cname%2c%20field%7c%20%2e%2e%2e%2e%20%7d"><code>orderd_each {|name, <var>field</var>| .... }</code></a></dt>
673
+ <dd>
674
+ <p>
675
+ name: String<br>
676
+ field: TMail::HeaderField<br>
677
+ </p>
678
+
679
+ <p>
680
+ iterates for each header field objects, in canonical order.
681
+ </p>
682
+
683
+ </dd>
684
+ <dt><a name="TMail%3a%3aMail-key%3f"><code>key?(name)</code></a></dt>
685
+ <dd>
686
+ <p>
687
+ name: String<br>
688
+ </p>
689
+
690
+ <p>
691
+ returns true if the mail has NAME header.
692
+ </p>
693
+
694
+ </dd>
695
+ <dt><a name="TMail%3a%3aMail-value%3f"><code>value?(field)</code></a></dt>
696
+ <dd>
697
+ <p>
698
+ field: TMail::HeaderField<br>
699
+ </p>
700
+
701
+ <p>
702
+ returns true if the mail has FIELD header field object.
703
+ </p>
704
+
705
+ </dd>
706
+ <dt><a name="TMail%3a%3aMail-values_at"><code>values_at(*names)</code></a> -&gt; <code>[TMail::HeaderField]</code></dt>
707
+ <dt><a name="TMail%3a%3aMail-indexes"><code>indexes(*names)</code></a> -&gt; <code>[TMail::HeaderField]</code></dt>
708
+ <dt><a name="TMail%3a%3aMail-indices"><code>indices(*names)</code></a> -&gt; <code>[TMail::HeaderField]</code></dt>
709
+ <dd>
710
+ <p>
711
+ names: [String]<br>
712
+ </p>
713
+
714
+ <p>
715
+ equals to <code>names.collect {|k| mail[k] }</code>.
716
+ </p>
717
+
718
+ </dd>
719
+ <dt><a name="TMail%3a%3aMail-values"><code>values</code></a> -&gt; <code>[TMail::HeaderField]</code></dt>
720
+ <dd>
721
+ <p>
722
+ returns an array of all header field object.
723
+ </p>
724
+ </dd>
725
+ </dl>
726
+