sa-tmail 1.2.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. data/CHANGES +74 -0
  2. data/LICENSE +21 -0
  3. data/NOTES +7 -0
  4. data/README +179 -0
  5. data/Rakefile +2 -0
  6. data/ext/Makefile +20 -0
  7. data/ext/tmailscanner/tmail/MANIFEST +4 -0
  8. data/ext/tmailscanner/tmail/depend +1 -0
  9. data/ext/tmailscanner/tmail/extconf.rb +34 -0
  10. data/ext/tmailscanner/tmail/tmailscanner.c +614 -0
  11. data/lib/tmail.rb +6 -0
  12. data/lib/tmail/Makefile +18 -0
  13. data/lib/tmail/address.rb +392 -0
  14. data/lib/tmail/attachments.rb +65 -0
  15. data/lib/tmail/base64.rb +46 -0
  16. data/lib/tmail/compat.rb +41 -0
  17. data/lib/tmail/config.rb +67 -0
  18. data/lib/tmail/core_extensions.rb +63 -0
  19. data/lib/tmail/encode.rb +590 -0
  20. data/lib/tmail/header.rb +962 -0
  21. data/lib/tmail/index.rb +9 -0
  22. data/lib/tmail/interface.rb +1162 -0
  23. data/lib/tmail/loader.rb +3 -0
  24. data/lib/tmail/mail.rb +578 -0
  25. data/lib/tmail/mailbox.rb +496 -0
  26. data/lib/tmail/main.rb +6 -0
  27. data/lib/tmail/mbox.rb +3 -0
  28. data/lib/tmail/net.rb +250 -0
  29. data/lib/tmail/obsolete.rb +132 -0
  30. data/lib/tmail/parser.rb +1060 -0
  31. data/lib/tmail/parser.y +416 -0
  32. data/lib/tmail/port.rb +379 -0
  33. data/lib/tmail/quoting.rb +155 -0
  34. data/lib/tmail/require_arch.rb +58 -0
  35. data/lib/tmail/scanner.rb +49 -0
  36. data/lib/tmail/scanner_r.rb +261 -0
  37. data/lib/tmail/stringio.rb +280 -0
  38. data/lib/tmail/utils.rb +361 -0
  39. data/lib/tmail/version.rb +39 -0
  40. data/lib/vendor/rchardet-1.3/COPYING +504 -0
  41. data/lib/vendor/rchardet-1.3/README +12 -0
  42. data/lib/vendor/rchardet-1.3/lib/rchardet.rb +67 -0
  43. data/lib/vendor/rchardet-1.3/lib/rchardet/big5freq.rb +927 -0
  44. data/lib/vendor/rchardet-1.3/lib/rchardet/big5prober.rb +42 -0
  45. data/lib/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb +237 -0
  46. data/lib/vendor/rchardet-1.3/lib/rchardet/charsetgroupprober.rb +112 -0
  47. data/lib/vendor/rchardet-1.3/lib/rchardet/charsetprober.rb +75 -0
  48. data/lib/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb +64 -0
  49. data/lib/vendor/rchardet-1.3/lib/rchardet/constants.rb +42 -0
  50. data/lib/vendor/rchardet-1.3/lib/rchardet/escprober.rb +90 -0
  51. data/lib/vendor/rchardet-1.3/lib/rchardet/escsm.rb +244 -0
  52. data/lib/vendor/rchardet-1.3/lib/rchardet/eucjpprober.rb +88 -0
  53. data/lib/vendor/rchardet-1.3/lib/rchardet/euckrfreq.rb +596 -0
  54. data/lib/vendor/rchardet-1.3/lib/rchardet/euckrprober.rb +42 -0
  55. data/lib/vendor/rchardet-1.3/lib/rchardet/euctwfreq.rb +430 -0
  56. data/lib/vendor/rchardet-1.3/lib/rchardet/euctwprober.rb +42 -0
  57. data/lib/vendor/rchardet-1.3/lib/rchardet/gb2312freq.rb +474 -0
  58. data/lib/vendor/rchardet-1.3/lib/rchardet/gb2312prober.rb +42 -0
  59. data/lib/vendor/rchardet-1.3/lib/rchardet/hebrewprober.rb +289 -0
  60. data/lib/vendor/rchardet-1.3/lib/rchardet/jisfreq.rb +570 -0
  61. data/lib/vendor/rchardet-1.3/lib/rchardet/jpcntx.rb +229 -0
  62. data/lib/vendor/rchardet-1.3/lib/rchardet/langbulgarianmodel.rb +229 -0
  63. data/lib/vendor/rchardet-1.3/lib/rchardet/langcyrillicmodel.rb +330 -0
  64. data/lib/vendor/rchardet-1.3/lib/rchardet/langgreekmodel.rb +227 -0
  65. data/lib/vendor/rchardet-1.3/lib/rchardet/langhebrewmodel.rb +202 -0
  66. data/lib/vendor/rchardet-1.3/lib/rchardet/langhungarianmodel.rb +226 -0
  67. data/lib/vendor/rchardet-1.3/lib/rchardet/langthaimodel.rb +201 -0
  68. data/lib/vendor/rchardet-1.3/lib/rchardet/latin1prober.rb +147 -0
  69. data/lib/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb +89 -0
  70. data/lib/vendor/rchardet-1.3/lib/rchardet/mbcsgroupprober.rb +47 -0
  71. data/lib/vendor/rchardet-1.3/lib/rchardet/mbcssm.rb +542 -0
  72. data/lib/vendor/rchardet-1.3/lib/rchardet/sbcharsetprober.rb +124 -0
  73. data/lib/vendor/rchardet-1.3/lib/rchardet/sbcsgroupprober.rb +58 -0
  74. data/lib/vendor/rchardet-1.3/lib/rchardet/sjisprober.rb +88 -0
  75. data/lib/vendor/rchardet-1.3/lib/rchardet/universaldetector.rb +166 -0
  76. data/lib/vendor/rchardet-1.3/lib/rchardet/utf8prober.rb +87 -0
  77. data/log/BugTrackingLog.txt +1245 -0
  78. data/log/Changelog.txt +534 -0
  79. data/log/Testlog.txt +2340 -0
  80. data/log/Todo.txt +30 -0
  81. data/meta/MANIFEST +128 -0
  82. data/meta/VERSION +1 -0
  83. data/meta/project.yaml +30 -0
  84. data/meta/unixname +1 -0
  85. data/sample/bench_base64.rb +48 -0
  86. data/sample/data/multipart +23 -0
  87. data/sample/data/normal +29 -0
  88. data/sample/data/sendtest +5 -0
  89. data/sample/data/simple +14 -0
  90. data/sample/data/test +27 -0
  91. data/sample/extract-attachements.rb +33 -0
  92. data/sample/from-check.rb +26 -0
  93. data/sample/multipart.rb +26 -0
  94. data/sample/parse-bench.rb +68 -0
  95. data/sample/parse-test.rb +19 -0
  96. data/sample/sendmail.rb +94 -0
  97. data/setup.rb +1482 -0
  98. data/site/contributing/index.html +183 -0
  99. data/site/css/clean.css +27 -0
  100. data/site/css/layout.css +31 -0
  101. data/site/css/style.css +60 -0
  102. data/site/download/index.html +61 -0
  103. data/site/img/envelope.jpg +0 -0
  104. data/site/img/mailman.gif +0 -0
  105. data/site/img/stamp-sm.jpg +0 -0
  106. data/site/img/stamp.jpg +0 -0
  107. data/site/img/stampborder.jpg +0 -0
  108. data/site/img/tfire.jpg +0 -0
  109. data/site/img/tmail.png +0 -0
  110. data/site/index.html +272 -0
  111. data/site/js/jquery.js +31 -0
  112. data/site/log/Changelog.xsl +33 -0
  113. data/site/log/changelog.xml +1677 -0
  114. data/site/outdated/BUGS +3 -0
  115. data/site/outdated/DEPENDS +1 -0
  116. data/site/outdated/Incompatibilities +89 -0
  117. data/site/outdated/Incompatibilities.ja +102 -0
  118. data/site/outdated/NEWS +9 -0
  119. data/site/outdated/README.ja +73 -0
  120. data/site/outdated/doc.ja/address.html +275 -0
  121. data/site/outdated/doc.ja/basics.html +405 -0
  122. data/site/outdated/doc.ja/config.html +49 -0
  123. data/site/outdated/doc.ja/details.html +146 -0
  124. data/site/outdated/doc.ja/index.html +39 -0
  125. data/site/outdated/doc.ja/mail.html +793 -0
  126. data/site/outdated/doc.ja/mailbox.html +265 -0
  127. data/site/outdated/doc.ja/port.html +95 -0
  128. data/site/outdated/doc.ja/tmail.html +58 -0
  129. data/site/outdated/doc.ja/usage.html +202 -0
  130. data/site/outdated/rdd/address.rrd.m +229 -0
  131. data/site/outdated/rdd/basics.rd.m +275 -0
  132. data/site/outdated/rdd/config.rrd.m +26 -0
  133. data/site/outdated/rdd/details.rd.m +117 -0
  134. data/site/outdated/rdd/index.rhtml.m +54 -0
  135. data/site/outdated/rdd/mail.rrd.m +701 -0
  136. data/site/outdated/rdd/mailbox.rrd.m +228 -0
  137. data/site/outdated/rdd/port.rrd.m +69 -0
  138. data/site/outdated/rdd/tmail.rrd.m +33 -0
  139. data/site/outdated/rdd/usage.rd.m +247 -0
  140. data/site/quickstart/index.html +69 -0
  141. data/site/quickstart/quickstart.html +52 -0
  142. data/site/quickstart/usage.html +193 -0
  143. data/site/reference/address.html +247 -0
  144. data/site/reference/config.html +30 -0
  145. data/site/reference/index.html +101 -0
  146. data/site/reference/mail.html +726 -0
  147. data/site/reference/mailbox.html +245 -0
  148. data/site/reference/port.html +75 -0
  149. data/site/reference/tmail.html +35 -0
  150. data/test/extctrl.rb +6 -0
  151. data/test/fixtures/mailbox +414 -0
  152. data/test/fixtures/mailbox_without_any_from_or_sender +10 -0
  153. data/test/fixtures/mailbox_without_from +11 -0
  154. data/test/fixtures/mailbox_without_return_path +12 -0
  155. data/test/fixtures/raw_attack_email_with_zero_length_whitespace +29 -0
  156. data/test/fixtures/raw_base64_decoded_string +0 -0
  157. data/test/fixtures/raw_base64_email +83 -0
  158. data/test/fixtures/raw_base64_encoded_string +1 -0
  159. data/test/fixtures/raw_email +14 -0
  160. data/test/fixtures/raw_email10 +20 -0
  161. data/test/fixtures/raw_email11 +34 -0
  162. data/test/fixtures/raw_email12 +32 -0
  163. data/test/fixtures/raw_email13 +29 -0
  164. data/test/fixtures/raw_email2 +114 -0
  165. data/test/fixtures/raw_email3 +70 -0
  166. data/test/fixtures/raw_email4 +59 -0
  167. data/test/fixtures/raw_email5 +19 -0
  168. data/test/fixtures/raw_email6 +20 -0
  169. data/test/fixtures/raw_email7 +66 -0
  170. data/test/fixtures/raw_email8 +47 -0
  171. data/test/fixtures/raw_email9 +28 -0
  172. data/test/fixtures/raw_email_multiple_from +30 -0
  173. data/test/fixtures/raw_email_quoted_with_0d0a +14 -0
  174. data/test/fixtures/raw_email_reply +32 -0
  175. data/test/fixtures/raw_email_simple +11 -0
  176. data/test/fixtures/raw_email_with_bad_date +48 -0
  177. data/test/fixtures/raw_email_with_illegal_boundary +58 -0
  178. data/test/fixtures/raw_email_with_mimepart_without_content_type +94 -0
  179. data/test/fixtures/raw_email_with_multipart_mixed_quoted_boundary +50 -0
  180. data/test/fixtures/raw_email_with_nested_attachment +100 -0
  181. data/test/fixtures/raw_email_with_partially_quoted_subject +14 -0
  182. data/test/fixtures/raw_email_with_quoted_illegal_boundary +58 -0
  183. data/test/kcode.rb +14 -0
  184. data/test/temp_test_one.rb +46 -0
  185. data/test/test_address.rb +1216 -0
  186. data/test/test_attachments.rb +131 -0
  187. data/test/test_base64.rb +64 -0
  188. data/test/test_encode.rb +139 -0
  189. data/test/test_header.rb +1021 -0
  190. data/test/test_helper.rb +9 -0
  191. data/test/test_mail.rb +756 -0
  192. data/test/test_mbox.rb +184 -0
  193. data/test/test_port.rb +440 -0
  194. data/test/test_quote.rb +107 -0
  195. data/test/test_scanner.rb +209 -0
  196. data/test/test_utils.rb +36 -0
  197. data/work/script/make +26 -0
  198. data/work/script/rdoc +39 -0
  199. data/work/script/setup +1616 -0
  200. data/work/script/test +30 -0
  201. metadata +309 -0
@@ -0,0 +1,183 @@
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
+ <link rel="icon" href="../img/tfire.jpg" type="image/x-icon"/>
12
+
13
+ <title>TMail &mdash; Contributing to the best Ruby email handler ever!</title>
14
+
15
+ <script type="text/javascript" src="../js/jquery.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
20
+ </script>
21
+ <script type="text/javascript">
22
+ _uacct = "UA-2871747-1";
23
+ urchinTracker();
24
+ </script>
25
+
26
+ <div class="container">
27
+
28
+ <div class="logo">
29
+ <img src="../img/stamp-sm.jpg"/>
30
+ </div>
31
+
32
+ <div class="title">
33
+ <h1>TMail</h1>
34
+ <h2>Ruby on Mail</h2>
35
+ </div>
36
+
37
+ <div class="menu">
38
+ &nbsp;
39
+ <a href="../index.html">Home</a> &nbsp;&nbsp;
40
+ <a href="../quickstart/index.html">Quickstart</a> &nbsp;&nbsp;
41
+ <a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a> &nbsp;&nbsp;
42
+ <a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a> &nbsp;&nbsp;
43
+ <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a> &nbsp;&nbsp;
44
+ <a href="../reference/index.html">Reference</a> &nbsp;&nbsp;
45
+ <a href="../rdoc/index.html">RDocs</a> &nbsp;&nbsp;
46
+ <a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a> &nbsp;&nbsp;
47
+ <a href="../contributing/index.html">Contributing</a>
48
+ </div>
49
+
50
+ <div class="main">
51
+ <h1>Contributing to TMail</h1>
52
+
53
+ <p>
54
+ Here is a blunt truth, TMail is what we (that is you and me) make it.
55
+ </p>
56
+
57
+ <p>
58
+ I have had a few people asking how to contribute to TMail, so I thought I
59
+ would quickly do a write up on how to go about it.
60
+ </p>
61
+
62
+ <p>
63
+ First things first, go to the <a href="http://rubyforge.org/mailman/listinfo/tmail-talk"
64
+ title="Tmail-talk Info Page">TMail Mailing list</a> and subscribe and let us
65
+ know what you want to attack, while this is definitely not a requirement to
66
+ writing a patch, maybe someone else has the same problem and / or is mid
67
+ fixing it, plus, we're basically a nice bunch of people ;)
68
+ </p>
69
+
70
+ <p>
71
+ Then, if you are new to this sort of thing you should go and read this great write up
72
+ by <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/"
73
+ title="Dr Nic &raquo; 8 steps for fixing other people&#8217;s code">Dr Nic</a>
74
+ which covers the basic steps on how to check out, patch and submit fixes to
75
+ code. This also applied very well to TMail.
76
+ </p>
77
+
78
+ <p>
79
+ Then, you need to get a copy of the latest TMail trunk code. You do this like so:
80
+ </p>
81
+
82
+ <pre class="shell">
83
+ baci:~ mikel$ svn checkout http://tmail.rubyforge.org/svn/trunk tmail
84
+ </pre>
85
+
86
+ <p>
87
+ This will check out the most recent version of TMail from the source tree at
88
+ RubyForge. Once you have this, the first thing you should do is run the test
89
+ suite. There are over 4000 assertions run by the test suite to make sure all
90
+ is OK. This also gives you a stable datum of "When I got it, it was working
91
+ so I just have to make sure it stays working...". To run the tests, do this:
92
+ </p>
93
+
94
+
95
+ <pre class="shell">
96
+ baci:~ mikel$ cd tmail
97
+ baci:~/tmail mikel$ rake test
98
+ (in /Users/mikel/tmail)
99
+ /usr/local/bin/ruby -Ilib:test ((SNIP))
100
+ Loaded suite /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader
101
+ Started
102
+ ........................................................................
103
+ ........................................................................
104
+ ............................................................
105
+ Finished in 0.456426 seconds.
106
+
107
+ 204 tests, 4014 assertions, 0 failures, 0 errors
108
+ </pre>
109
+
110
+ <p>
111
+ If you get any errors at this point, post to the TMail Mailing list and let us
112
+ know, tell us what version of Ruby you are running, and what platform you are on
113
+ as well as any error output from the tests. If you can fix it, go ahead!
114
+ </p>
115
+
116
+ <p>
117
+ Now that you have the trunk version, you need to write your patch and submit it.
118
+ If you are making a code change, you should write a test driven change, if you
119
+ are new to this, you can find a great screen cast by James Edward Gray II on
120
+ <a href="http://macromates.com/screencast/ruby_quiz_screencast.mov">TDD with Textmate.</a>
121
+ This will give you the basics of what a test drive change is and how to go about it.
122
+ For all you RSpec fans, I am seriously considering moving the testing framework over
123
+ to BDD and RSpec, if you want to get on board and help out, that would be great!
124
+ </p>
125
+
126
+ <p>
127
+ Once you have written your test, run rake test again and watch it fail. This is a
128
+ key part of Test Driven Development. Then write your change in the code.
129
+ </p>
130
+
131
+ <p>
132
+ Once you have written your code, run rake test again, and your test should now pass
133
+ and every OTHER test should also pass. If this is the case, then well done! You
134
+ have just made a test driven change to the TMail library.
135
+ </p>
136
+
137
+ <p>
138
+ Now you need to make the diff file of what you have done against the library. You
139
+ do this using the svn diff command. First however, you should update your code, just
140
+ in case someone else has updated the source tree between you checking it out and
141
+ writing your patch. So, you do both like this:
142
+ </p>
143
+
144
+ <pre class="shell">
145
+ baci:~/tmail mikel$ svn up
146
+ At revision 206.
147
+ baci:~/tmail mikel$ svn diff > my_well_named_patch_file.diff
148
+ baci:~/tmail mikel$
149
+ </pre>
150
+
151
+ <p>
152
+ Note: If while doing the SVN UP anything was updated, you should re-run your
153
+ tests using rake test to make sure your patch didn't just go stale :)
154
+ </p>
155
+
156
+ <p>
157
+ Next step is peer review. Go open a patch ticket on the
158
+ <a href="http://rubyforge.org/tracker/?group_id=4512" title="RubyForge: TMail:">
159
+ RubyForge tracker</a>, in it, select the right category and group for the patch
160
+ you have made (if there isn't one that matches, leave it as none and then mention
161
+ this in the description field). Give your ticket a name, and then attach your file.
162
+ </p>
163
+
164
+ <p>
165
+ It is a good idea to then go to the TMail Talk list and let everyone know about your
166
+ patch. Then we can check it out, suggest changes or commit it if all is good.
167
+ </p>
168
+
169
+ <p>
170
+ That's it! Easy hey? Once you have submitted patches, it gets easier and you get
171
+ to bask in the glory of being a committer to Ruby's most popular mail handling
172
+ library.
173
+ </p>
174
+
175
+ </div>
176
+
177
+ <div class="footer">
178
+ Copyright (c) 2007 TMail Project &reg; All Rights Reserved
179
+ </div>
180
+
181
+ </div>
182
+ </body>
183
+ </html>
@@ -0,0 +1,27 @@
1
+ * {
2
+ background: transparent;
3
+ }
4
+
5
+ body {
6
+ margin: 0;
7
+ padding: 0;
8
+ font-size: 12px;
9
+ color: #333333;
10
+ }
11
+
12
+ div {
13
+ font-size: 15px;
14
+ }
15
+
16
+ p {
17
+ font-size: 15px;
18
+ line-height: 19px;
19
+ }
20
+
21
+ pre {
22
+ font-size: 13px;
23
+ font-family: Courier, sans-serif;
24
+ background-color: #EEE;
25
+ display: block;
26
+ border: 1px solid #999;
27
+ }
@@ -0,0 +1,31 @@
1
+
2
+ .container{
3
+ width: 800px;
4
+ margin: 0 auto;
5
+ padding: 10px 20px 10px 20px;
6
+ }
7
+
8
+ .logo {
9
+ float: right;
10
+ width: 150px;
11
+ padding: 0 0 10px 0;
12
+ text-align: right;
13
+ }
14
+
15
+ .menu {
16
+ margin-top: 30px;
17
+ width: 650px;
18
+ }
19
+
20
+ .menu a {
21
+ text-decoration: none;
22
+ }
23
+
24
+ .main {
25
+ clear: both;
26
+ padding: 10px 20px;
27
+ }
28
+
29
+ .footer {
30
+ margin: 30px 0 10px 0;
31
+ }
@@ -0,0 +1,60 @@
1
+ body {
2
+ background: #FFFFFF;
3
+ }
4
+
5
+ .container {
6
+ background: white;
7
+ }
8
+
9
+ .title h1 {
10
+ color: red;
11
+ font-size: 72px;
12
+ font-family: Times New Roman;
13
+ font-weight: bold;
14
+ margin: 0;
15
+ padding: 0px;
16
+ }
17
+
18
+ .title h2 {
19
+ color: #cc5500;
20
+ font-size: 16px;
21
+ font-family: Times New Roman;
22
+ font-weight: bold;
23
+ margin: 0;
24
+ padding: 0 12px;
25
+ letter-spacing: 8px;
26
+ }
27
+
28
+ .menu {
29
+ text-align: left;
30
+ color: red;
31
+ font-size: 14px;
32
+ }
33
+
34
+ .main {
35
+ border: 1px solid orange;
36
+ }
37
+
38
+ .footer {
39
+ color: gray;
40
+ font-size: .9em;
41
+ }
42
+
43
+ pre {
44
+ border: 1px solid #dddddd;
45
+ font-family: monospace;
46
+ font-size: 0.8em;
47
+ line-height: 1.6em;
48
+ }
49
+
50
+ pre.ruby {
51
+ color: red;
52
+ background: #eeeeee;
53
+ padding: 10px;
54
+ }
55
+
56
+ pre.shell {
57
+ color: green;
58
+ background: #eeeeee;
59
+ padding: 10px;
60
+ }
@@ -0,0 +1,61 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html lang="en">
3
+ <head>
4
+ <title>TMail &mdash; A Ruby Email Handler</title>
5
+
6
+ <link rel="icon" href="../img/tfire.jpg" type="image/x-icon"/>
7
+
8
+ <link rel="stylesheet" href="../css/clean.css" type="text/css" media="screen, projection, print"/>
9
+ <link rel="stylesheet" href="../css/layout.css" type="text/css" media="screen, projection, print"/>
10
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen, projection, print"/>
11
+
12
+ <META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://rubyforge.org/frs/?group_id=4512">
13
+
14
+ </head>
15
+ <body>
16
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
17
+ </script>
18
+ <script type="text/javascript">
19
+ _uacct = "UA-2871747-1";
20
+ urchinTracker();
21
+ </script>
22
+ <div class="container">
23
+ <div style="height: 155px;">
24
+ <div class="logo">
25
+ <img id="logo_img" src="../img/stamp-sm.jpg"/>
26
+ </div>
27
+
28
+ <div class="title">
29
+ <h1>TMail</h1>
30
+ <h2>Ruby on Mail</h2>
31
+ </div>
32
+
33
+ <div class="menu">
34
+ &nbsp;
35
+ <a href="../index.html">Home</a> &nbsp;&nbsp;
36
+ <a href="../quickstart/index.html">Quickstart</a> &nbsp;&nbsp;
37
+ <a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a> &nbsp;&nbsp;
38
+ <a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a> &nbsp;&nbsp;
39
+ <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a> &nbsp;&nbsp;
40
+ <a href="../reference/index.html">Reference</a> &nbsp;&nbsp;
41
+ <a href="../rdoc/index.html">RDocs</a> &nbsp;&nbsp;
42
+ <a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a> &nbsp;&nbsp;
43
+ <a href="../contributing/index.html">Contributing</a>
44
+ </div>
45
+ </div>
46
+ <div class="main">
47
+ <h1>Ruby Email Handler</h1>
48
+
49
+ <div class="about">
50
+
51
+ You are about to be redirected to the Ruby Forge download page at <a
52
+ href="http://rubyforge.org/frs/?group_id=4512">http://rubyforge.org/frs/?group_id=4512/</a>.
53
+
54
+ </div>
55
+
56
+ <div class="footer">
57
+ Copyright (c) 2007 TMail Project &reg; All Rights Reserved
58
+ </div>
59
+ </div>
60
+ </body>
61
+ </html>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,272 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html lang="en">
3
+ <head>
4
+ <title>TMail &mdash; A Ruby Email Handler</title>
5
+
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf8">
7
+ <meta http-equiv="Content-Language" content="en">
8
+
9
+ <link rel="stylesheet" href="css/clean.css" type="text/css" media="screen, projection, print"/>
10
+ <link rel="stylesheet" href="css/layout.css" type="text/css" media="screen, projection, print"/>
11
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen, projection, print"/>
12
+
13
+ <link rel="icon" href="img/tfire.jpg" type="image/x-icon"/>
14
+
15
+ <script type="text/javascript" src="js/jquery.js"></script>
16
+
17
+ <script>
18
+ $(document).ready(function(){
19
+ $("#logo_img").hover(function () {
20
+ $(this).fadeOut('normal', function() {
21
+ $(this).attr('src', 'img/mailman.gif');
22
+ $(this).fadeIn('normal');
23
+ });
24
+ }, function () {
25
+ $(this).fadeOut('normal', function() {
26
+ $(this).attr('src', 'img/stamp-sm.jpg');
27
+ $(this).fadeIn('normal');
28
+ });
29
+ });
30
+ });
31
+ </script>
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 style="height: 155px;">
44
+ <div class="logo">
45
+ <img id="logo_img" src="img/stamp-sm.jpg"/>
46
+ </div>
47
+
48
+ <div class="title">
49
+ <h1>TMail</h1>
50
+ <h2>Ruby on Mail</h2>
51
+ </div>
52
+
53
+ <div class="menu">
54
+ &nbsp;
55
+ <a href="index.html">Home</a> &nbsp;&nbsp;
56
+ <a href="/quickstart/index.html">Quickstart</a> &nbsp;&nbsp;
57
+ <a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a> &nbsp;&nbsp;
58
+ <a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a> &nbsp;&nbsp;
59
+ <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a> &nbsp;&nbsp;
60
+ <a href="./reference/index.html">Reference</a> &nbsp;&nbsp;
61
+ <a href="./rdoc/index.html">RDocs</a> &nbsp;&nbsp;
62
+ <a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a> &nbsp;&nbsp;
63
+ <a href="./contributing/index.html">Contributing</a>
64
+ </div>
65
+ </div>
66
+
67
+ <div class="main">
68
+ <h1>Ruby Email Handler</h1>
69
+
70
+ <div class="about">
71
+ <p>TMail is an email handler library for Ruby. TMail can
72
+ extract data from mail, and write data to mail following
73
+ the relevant RFCs on the subject.</p>
74
+
75
+ <p>You can get the latest version of TMail from the TMail
76
+ <a href="http://rubyforge.org/frs/?group_id=4512&amp;release_id=15889"
77
+ title="RubyForge: TMail: Project Filelist">RubyForge</a> project
78
+ or via Ruby Gems "tmail", or feel free to grab the source code and
79
+ submit patches via the <a href="http://github.com/mikel/tmail/tree/master"
80
+ title="mikel's tmail at master - GitHub">GitHub TMail</a> site.</p>
81
+
82
+ <p>TMail is written in Ruby and a (very) small bit of supporting C
83
+ that has pure ruby replacements if you can't compile on your computer.
84
+ This means TMail will work, out of the box, on any platform that
85
+ can run Ruby 1.8 or Ruby 1.9.</p>
86
+
87
+ <p>TMail is a commonly used library and is production ready. The
88
+ ActionMailer component of Ruby on Rails uses it as well as the the
89
+ Nitro web framework and many and others - including the Ruby-Talk mail gateway.</p>
90
+
91
+ <p>What TMail does is allow you to play with Emails like you would
92
+ any Ruby object. So to change the To address of an email, instead
93
+ of something like:</p>
94
+
95
+ <pre class="ruby">
96
+ my_message = "From mikel@example.org\nReceived by.... etc"
97
+ my_message.sub(/^To: .*?@.*?$/, "To: mikel@elsewhere.org")
98
+ </pre>
99
+
100
+ <p>Which (a) will break easily and (b) is just not the Ruby-Way&trade; You can do:</p>
101
+
102
+ <pre class="ruby">
103
+ email = TMail::Mail.parse("From mikel@example.org\nReceived by.... etc")
104
+ email['to'] = 'mikel@elsewhere.org'
105
+ </pre>
106
+
107
+ <p>And TMail will take care of the details. Isn't that nicer?</p>
108
+
109
+ <p>TMail was created by Minero Aoki. It is currently maintained
110
+ by <a href="http://lindsaar.net/">Mikel</a> and Trans as
111
+ a <a href="http://rubyforge.org/projects/tmail/"
112
+ title="RubyForge: TMail: Project Info">RubyForge Project</a> &nbsp;&nbsp;.</p>
113
+
114
+ <p>For the impatient there is a <a href="quickstart/index.html">
115
+ quickstart</a> guide that will get you up and running with TMail
116
+ in a few minutes, for the rest, there is the full documentation by
117
+ <a href="rdoc/index.html">RDoc</a> (comming soon) as well as an online
118
+ <a href="manual/index.html">user manual</a> (needs updating).</p>
119
+ </div>
120
+
121
+ <div class="important_note">
122
+ <h2>Important Note For Rails and Nitro Users</h2>
123
+
124
+ <p>If you are using the Rails or the Nitro Web Framework, and are reading this
125
+ page, you probably know that your framework of choice uses TMail as it's email
126
+ handler library already.</p>
127
+
128
+ <p>What you may not know, is that if you install the latest TMail gem, your
129
+ library will use the latest Gem version. Nitro does this because it lists
130
+ TMail as a dependency, Rails does this because since 2.0RC1, the ActionMailer
131
+ section of Rails checks for a newer version of the TMail gem as it is loading
132
+ up and if it finds a Gem version newer than 1.1.0, it will load the Gem version
133
+ instead of the bundled version.</p>
134
+
135
+ <p>So to take advantage of the bug fixes, you can do:</p>
136
+
137
+ <pre class="shell">
138
+ $ sudo gem install tmail
139
+ </pre>
140
+
141
+ <p>And get the latest version installed (1.2) and your web framework will
142
+ automatically update.</p>
143
+
144
+ <p>Rails 1.2 can not do this directly, but if you go to the
145
+ <a href="http://lindsaar.net/2007/12/11/using-tmail-gem-in-rails-1-2-6"
146
+ title="lindsaar.net Using TMail Gem in Rails 1.2.6">TMail blog</a>, I have
147
+ written up how to patch ActionMailer 1.2.x to load the gem version of TMail
148
+ in preference to the bundled version.</p>
149
+
150
+ </div>
151
+
152
+ <div class="news">
153
+ <h2>News</h2>
154
+
155
+ <ul>
156
+ <li>15th of January, 2007
157
+ <a href="http://rubyforge.org/forum/forum.php?forum_id=20747">
158
+ TMail Trunk is now compatible with Ruby 1.9</a> - Next release (1.2.2) will include this 1.9 compatibility, if you need this now, you can get it by getting the source code with 'svn checkout -r 197 http://tmail.rubyforge.org/svn/trunk/ TMail'
159
+ </li>
160
+ <li>11th of January, 2007
161
+ <a href="http://rubyforge.org/frs/?group_id=4512&release_id=18049">
162
+ New Release - 1.2.1</a> - Bug fixes on address handling as well as unix mailbox handling. More documentation and tests as well.
163
+ </li>
164
+ <li>14th of December, 2007
165
+ <a href="http://tmail.rubyforge.org/rdoc/index.html">
166
+ New RDoc Put online</a> - Fixed up and released a lot more examples and comments for the TMail::Mail class.
167
+ </li>
168
+ <li>2nd of December, 2007
169
+ <a href="https://rubyforge.org/frs/?group_id=4512&release_id=16737">
170
+ New Release - 1.2.0</a> - bug fixes for Attachments and the pure Ruby version of Scanner
171
+ </li>
172
+ <li>19th of November, 2007
173
+ <a href="http://rubyforge.org/tracker/index.php?func=detail&aid=15445&group_id=4512&atid=17370">
174
+ Create forward now returns a mail object in trunk</a>
175
+ </li>
176
+ <li>8th of November, 2007
177
+ <a href="http://rubyforge.org/forum/forum.php?forum_id=18816">
178
+ New Release - 1.1.1</a> - bug fixes &amp; Windows/Unix in one Gem
179
+ </li>
180
+ <li> 30th of October, 2007
181
+ <a href="http://rubyforge.org/forum/forum.php?forum_id=18551">
182
+ New Release - 1.1.0</a> - Now a Gem!
183
+ </li>
184
+ <li> 24th of October, 2007
185
+ <a href="http://rubyforge.org/frs/?group_id=4512&amp;release_id=15695">
186
+ New Release - 0.11.0
187
+ </a>
188
+ </li>
189
+ <li> 23rd of October, 2007
190
+ <a href="http://rubyforge.org/forum/forum.php?forum_id=18391">
191
+ TMail Talk Mailing List Created
192
+ </a>
193
+ </li>
194
+ </ul>
195
+
196
+ <br />
197
+ <a href="http://rubyforge.org/news/?group_id=4512">More TMail News...</a>
198
+ </div>
199
+
200
+ <br />
201
+
202
+ <div class="docs">
203
+ <h2>Documentation</h2>
204
+
205
+ <p>Documentation is the focus of development right now, so be sure to check
206
+ back with what is happening. Each new release adds some more documentation
207
+ to the mix. If you want to help out, please let us know!</p>
208
+
209
+ <p>In the mean time, you can select from below, you can also always ask questions
210
+ to the <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">TMail-Talk</a>
211
+ Mailing list and we will do our best to answer.</p>
212
+
213
+ <ul>
214
+ <li><a href="quickstart/index.html">Quick Start Guide</a></li>
215
+ <li><a href="manual/index.html">User Manual - needs updating</a></li>
216
+ <li><a href="rdoc/index.html">RDocs - now online!</a></li>
217
+ </ul>
218
+ </div>
219
+
220
+ <br />
221
+
222
+ <div class="development">
223
+ <h2>Developement</h2>
224
+
225
+ <p>
226
+ If you want to help with the TMail project, please see our
227
+ <a href="http://tmail.rubyforge.org/contributing/index.html"
228
+ title="TMail &mdash; Contributing to the best Ruby email handler ever!">
229
+ contributing to TMail</a> page.
230
+ </p>
231
+
232
+ <p>Right now we could do with a lot of documentation work, dive in and send
233
+ your patches!</p>
234
+
235
+ <p>For the impatient, anonymous subversion repository is accessable via:</p>
236
+
237
+ <pre class="shell">
238
+ $ svn checkout http://tmail.rubyforge.org/svn/trunk/ tmail
239
+ </pre>
240
+
241
+ <p>Use the following links to view or sumbit Bugs, Patches and Feature Requests:</p>
242
+ <ul>
243
+ <li>
244
+ <a href="http://rubyforge.org/tracker/?group_id=4512">
245
+ Review All
246
+ </a>
247
+ </li>
248
+ <li>
249
+ <a href="http://rubyforge.org/tracker/?func=add&amp;group_id=4512&amp;atid=17370">
250
+ Report a Bug
251
+ </a>
252
+ </li>
253
+ <li>
254
+ <a href="http://rubyforge.org/tracker/?func=add&amp;group_id=4512&amp;atid=17373">
255
+ Request a Feature
256
+ </a>
257
+ </li>
258
+ <li>
259
+ <a href="http://rubyforge.org/tracker/?func=add&amp;group_id=4512&amp;atid=17372">
260
+ Submit a Patch
261
+ </a>
262
+ </li>
263
+ </ul>
264
+ </div>
265
+
266
+ </div>
267
+ <div class="footer">
268
+ Copyright (c) 2007 TMail Project &reg; All Rights Reserved
269
+ </div>
270
+ </div>
271
+ </body>
272
+ </html>