tmail 1.2.3.1 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. data/README +10 -0
  2. data/ext/tmailscanner/tmail/tmailscanner.c +39 -8
  3. data/lib/tmail.rb +1 -0
  4. data/lib/tmail/address.rb +6 -40
  5. data/lib/tmail/attachments.rb +41 -22
  6. data/lib/tmail/encode.rb +9 -0
  7. data/lib/tmail/header.rb +5 -3
  8. data/lib/tmail/interface.rb +40 -3
  9. data/lib/tmail/mail.rb +3 -3
  10. data/lib/tmail/mailbox.rb +3 -2
  11. data/lib/tmail/net.rb +3 -1
  12. data/lib/tmail/parser.rb +204 -620
  13. data/lib/tmail/parser.y +38 -3
  14. data/lib/tmail/quoting.rb +38 -1
  15. data/lib/tmail/utils.rb +28 -4
  16. data/lib/tmail/vendor/rchardet-1.3/COPYING +504 -0
  17. data/lib/tmail/vendor/rchardet-1.3/README +12 -0
  18. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet.rb +67 -0
  19. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/big5freq.rb +927 -0
  20. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/big5prober.rb +42 -0
  21. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb +237 -0
  22. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/charsetgroupprober.rb +112 -0
  23. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/charsetprober.rb +75 -0
  24. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb +64 -0
  25. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/constants.rb +42 -0
  26. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/escprober.rb +90 -0
  27. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/escsm.rb +244 -0
  28. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/eucjpprober.rb +88 -0
  29. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euckrfreq.rb +596 -0
  30. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euckrprober.rb +42 -0
  31. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euctwfreq.rb +430 -0
  32. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euctwprober.rb +42 -0
  33. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312freq.rb +474 -0
  34. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312prober.rb +42 -0
  35. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/hebrewprober.rb +289 -0
  36. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/jisfreq.rb +570 -0
  37. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/jpcntx.rb +229 -0
  38. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langbulgarianmodel.rb +229 -0
  39. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langcyrillicmodel.rb +330 -0
  40. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langgreekmodel.rb +227 -0
  41. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langhebrewmodel.rb +202 -0
  42. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langhungarianmodel.rb +226 -0
  43. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langthaimodel.rb +201 -0
  44. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/latin1prober.rb +147 -0
  45. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb +89 -0
  46. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcsgroupprober.rb +47 -0
  47. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcssm.rb +542 -0
  48. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/sbcharsetprober.rb +124 -0
  49. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/sbcsgroupprober.rb +58 -0
  50. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/sjisprober.rb +88 -0
  51. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/universaldetector.rb +166 -0
  52. data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/utf8prober.rb +87 -0
  53. data/lib/tmail/version.rb +1 -1
  54. data/setup.rb +2 -2
  55. data/test/fixtures/apple_unquoted_content_type +44 -0
  56. data/test/fixtures/inline_attachment.txt +2095 -0
  57. data/test/fixtures/iso_8859_1_email_without_encoding_and_message_id.txt +16 -0
  58. data/test/fixtures/mailbox.zip +0 -0
  59. data/test/fixtures/marked_as_iso_8859_1_but_it_is_utf_8.txt +33 -0
  60. data/test/fixtures/marked_as_utf_8_but_it_is_iso_8859_1.txt +56 -0
  61. data/test/fixtures/raw_email_bad_time +62 -0
  62. data/test/fixtures/raw_email_double_at_in_header +14 -0
  63. data/test/fixtures/raw_email_only_attachment +17 -0
  64. data/test/fixtures/raw_email_string_in_date_field +17 -0
  65. data/test/fixtures/raw_email_trailing_dot +21 -0
  66. data/test/fixtures/raw_email_with_quoted_attachment_filename +60 -0
  67. data/test/fixtures/raw_email_with_wrong_splitted_multibyte_encoded_word_subject +15 -0
  68. data/test/fixtures/the_only_part_is_a_word_document.txt +425 -0
  69. data/test/fixtures/unquoted_filename_in_attachment +177 -0
  70. data/test/test_address.rb +114 -92
  71. data/test/test_attachments.rb +84 -1
  72. data/test/test_encode.rb +54 -0
  73. data/test/test_header.rb +60 -2
  74. data/test/test_mail.rb +22 -15
  75. data/test/test_mbox.rb +12 -3
  76. data/test/test_port.rb +13 -9
  77. data/test/test_quote.rb +9 -0
  78. data/tmail.gemspec +34 -0
  79. metadata +68 -167
  80. data/MANIFEST +0 -191
  81. data/log/BugTrackingLog.txt +0 -1231
  82. data/log/Changelog.txt +0 -534
  83. data/log/Fixme.txt +0 -6
  84. data/log/Testlog.txt +0 -2340
  85. data/log/Todo.txt +0 -30
  86. data/log/fixme.rdoc +0 -6
  87. data/meta/MANIFEST +0 -128
  88. data/meta/VERSION +0 -1
  89. data/meta/project.yaml +0 -30
  90. data/meta/unixname +0 -1
  91. data/sample/bench_base64.rb +0 -48
  92. data/sample/data/multipart +0 -23
  93. data/sample/data/normal +0 -29
  94. data/sample/data/sendtest +0 -5
  95. data/sample/data/simple +0 -14
  96. data/sample/data/test +0 -27
  97. data/sample/extract-attachements.rb +0 -33
  98. data/sample/from-check.rb +0 -26
  99. data/sample/multipart.rb +0 -26
  100. data/sample/parse-bench.rb +0 -68
  101. data/sample/parse-test.rb +0 -19
  102. data/sample/sendmail.rb +0 -94
  103. data/site/contributing/index.html +0 -183
  104. data/site/css/clean.css +0 -27
  105. data/site/css/layout.css +0 -31
  106. data/site/css/style.css +0 -60
  107. data/site/download/index.html +0 -61
  108. data/site/img/envelope.jpg +0 -0
  109. data/site/img/mailman.gif +0 -0
  110. data/site/img/stamp-sm.jpg +0 -0
  111. data/site/img/stamp.jpg +0 -0
  112. data/site/img/stampborder.jpg +0 -0
  113. data/site/img/tfire.jpg +0 -0
  114. data/site/img/tmail.png +0 -0
  115. data/site/index.html +0 -270
  116. data/site/js/jquery.js +0 -31
  117. data/site/log/Changelog.xsl +0 -33
  118. data/site/log/changelog.xml +0 -1677
  119. data/site/outdated/BUGS +0 -3
  120. data/site/outdated/DEPENDS +0 -1
  121. data/site/outdated/Incompatibilities +0 -89
  122. data/site/outdated/Incompatibilities.ja +0 -102
  123. data/site/outdated/NEWS +0 -9
  124. data/site/outdated/README.ja +0 -73
  125. data/site/outdated/doc.ja/address.html +0 -275
  126. data/site/outdated/doc.ja/basics.html +0 -405
  127. data/site/outdated/doc.ja/config.html +0 -49
  128. data/site/outdated/doc.ja/details.html +0 -146
  129. data/site/outdated/doc.ja/index.html +0 -39
  130. data/site/outdated/doc.ja/mail.html +0 -793
  131. data/site/outdated/doc.ja/mailbox.html +0 -265
  132. data/site/outdated/doc.ja/port.html +0 -95
  133. data/site/outdated/doc.ja/tmail.html +0 -58
  134. data/site/outdated/doc.ja/usage.html +0 -202
  135. data/site/outdated/rdd/address.rrd.m +0 -229
  136. data/site/outdated/rdd/basics.rd.m +0 -275
  137. data/site/outdated/rdd/config.rrd.m +0 -26
  138. data/site/outdated/rdd/details.rd.m +0 -117
  139. data/site/outdated/rdd/index.rhtml.m +0 -54
  140. data/site/outdated/rdd/mail.rrd.m +0 -701
  141. data/site/outdated/rdd/mailbox.rrd.m +0 -228
  142. data/site/outdated/rdd/port.rrd.m +0 -69
  143. data/site/outdated/rdd/tmail.rrd.m +0 -33
  144. data/site/outdated/rdd/usage.rd.m +0 -247
  145. data/site/quickstart/index.html +0 -69
  146. data/site/quickstart/quickstart.html +0 -52
  147. data/site/quickstart/usage.html +0 -193
  148. data/site/reference/address.html +0 -247
  149. data/site/reference/config.html +0 -30
  150. data/site/reference/index.html +0 -101
  151. data/site/reference/mail.html +0 -726
  152. data/site/reference/mailbox.html +0 -245
  153. data/site/reference/port.html +0 -75
  154. data/site/reference/tmail.html +0 -35
  155. data/work/script/make +0 -26
  156. data/work/script/rdoc +0 -39
  157. data/work/script/setup +0 -1616
  158. data/work/script/test +0 -30
@@ -1,30 +0,0 @@
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
-
@@ -1,101 +0,0 @@
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
-
@@ -1,726 +0,0 @@
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
-