tmail 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +50 -5
- data/MANIFEST +188 -0
- data/NOTES +1 -1
- data/README +10 -4
- data/Rakefile +1 -10
- data/lib/tmail.rb +1 -0
- data/lib/tmail/Makefile +0 -1
- data/lib/tmail/address.rb +190 -17
- data/lib/tmail/attachments.rb +1 -1
- data/lib/tmail/base64.rb +4 -10
- data/lib/tmail/compat.rb +8 -6
- data/lib/tmail/config.rb +2 -6
- data/lib/tmail/core_extensions.rb +14 -18
- data/lib/tmail/encode.rb +47 -12
- data/lib/tmail/header.rb +7 -10
- data/lib/tmail/index.rb +2 -1
- data/lib/tmail/interface.rb +14 -12
- data/lib/tmail/loader.rb +2 -0
- data/lib/tmail/mail.rb +83 -24
- data/lib/tmail/mailbox.rb +70 -10
- data/lib/tmail/main.rb +2 -0
- data/lib/tmail/mbox.rb +2 -0
- data/lib/tmail/net.rb +16 -15
- data/lib/tmail/obsolete.rb +7 -12
- data/lib/tmail/parser.rb +1 -0
- data/lib/tmail/require_arch.rb +2 -0
- data/lib/tmail/scanner.rb +2 -1
- data/lib/tmail/scanner_r.rb +11 -10
- data/lib/tmail/utils.rb +83 -26
- data/lib/tmail/version.rb +3 -2
- data/log/BugTrackingLog.txt +1208 -0
- data/log/{ChangeLog.txt → Changelog-0.txt} +36 -0
- data/log/Changelog.txt +534 -0
- data/log/Testlog.txt +114 -0
- data/log/Todo.txt +0 -2
- data/meta/VERSION +1 -0
- data/meta/project.yaml +8 -5
- data/meta/unixname +1 -0
- data/setup.rb +1481 -0
- data/site/contributing/index.html +183 -0
- data/site/css/clean.css +27 -0
- data/site/css/layout.css +31 -0
- data/site/css/style.css +60 -0
- data/site/download/index.html +61 -0
- data/site/img/envelope.jpg +0 -0
- data/site/img/mailman.gif +0 -0
- data/site/img/stamp-sm.jpg +0 -0
- data/site/img/stamp.jpg +0 -0
- data/site/img/stampborder.jpg +0 -0
- data/site/img/tfire.jpg +0 -0
- data/site/img/tmail.png +0 -0
- data/site/index.html +270 -0
- data/site/js/jquery.js +31 -0
- data/site/log/Changelog.xsl +33 -0
- data/site/log/changelog.xml +1677 -0
- data/site/outdated/BUGS +3 -0
- data/site/outdated/DEPENDS +1 -0
- data/site/outdated/Incompatibilities +89 -0
- data/site/outdated/Incompatibilities.ja +102 -0
- data/site/outdated/NEWS +9 -0
- data/site/outdated/README.ja +73 -0
- data/site/outdated/doc.ja/address.html +275 -0
- data/site/outdated/doc.ja/basics.html +405 -0
- data/site/outdated/doc.ja/config.html +49 -0
- data/site/outdated/doc.ja/details.html +146 -0
- data/site/outdated/doc.ja/index.html +39 -0
- data/site/outdated/doc.ja/mail.html +793 -0
- data/site/outdated/doc.ja/mailbox.html +265 -0
- data/site/outdated/doc.ja/port.html +95 -0
- data/site/outdated/doc.ja/tmail.html +58 -0
- data/site/outdated/doc.ja/usage.html +202 -0
- data/site/outdated/rdd/address.rrd.m +229 -0
- data/site/outdated/rdd/basics.rd.m +275 -0
- data/site/outdated/rdd/config.rrd.m +26 -0
- data/site/outdated/rdd/details.rd.m +117 -0
- data/site/outdated/rdd/index.rhtml.m +54 -0
- data/site/outdated/rdd/mail.rrd.m +701 -0
- data/site/outdated/rdd/mailbox.rrd.m +228 -0
- data/site/outdated/rdd/port.rrd.m +69 -0
- data/site/outdated/rdd/tmail.rrd.m +33 -0
- data/site/outdated/rdd/usage.rd.m +247 -0
- data/site/quickstart/index.html +69 -0
- data/site/quickstart/quickstart.html +52 -0
- data/site/quickstart/usage.html +193 -0
- data/site/reference/address.html +247 -0
- data/site/reference/config.html +30 -0
- data/site/reference/index.html +101 -0
- data/site/reference/mail.html +726 -0
- data/site/reference/mailbox.html +245 -0
- data/site/reference/port.html +75 -0
- data/site/reference/tmail.html +35 -0
- data/test/fixtures/mailbox +405 -4
- data/test/fixtures/raw_email_multiple_from +30 -0
- data/test/kcode.rb +2 -2
- data/test/temp_test_one.rb +46 -0
- data/test/test_address.rb +77 -38
- data/test/test_encode.rb +0 -2
- data/test/test_header.rb +47 -24
- data/test/test_mail.rb +52 -9
- data/test/test_mbox.rb +28 -0
- data/test/test_port.rb +33 -27
- data/test/test_quote.rb +35 -8
- data/work/script/make +26 -0
- data/work/script/rdoc +39 -0
- data/{script → work/script}/setup +0 -0
- data/work/script/test +30 -0
- metadata +249 -184
- data/log/History.txt +0 -40
- data/meta/config.yaml +0 -8
- data/meta/icli.yaml +0 -16
- data/meta/tmail.roll +0 -3
- data/script/changelog +0 -19
- data/script/clobber/distclean +0 -8
- data/script/clobber/package +0 -10
- data/script/compile +0 -32
- data/script/pack/gem +0 -93
- data/script/pack/tgz +0 -41
- data/script/pack/zip +0 -41
- data/script/prepare +0 -15
- data/script/publish +0 -51
- data/script/rdoc +0 -42
- data/script/release +0 -10
- data/script/stamp +0 -33
- data/script/stats +0 -138
- data/script/tag +0 -25
- data/script/test +0 -36
@@ -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 — 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
|
+
|
39
|
+
<a href="../index.html">Home</a>
|
40
|
+
<a href="../quickstart/index.html">Quickstart</a>
|
41
|
+
<a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a>
|
42
|
+
<a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a>
|
43
|
+
<a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a>
|
44
|
+
<a href="../reference/index.html">Reference</a>
|
45
|
+
<a href="../rdoc/index.html">RDocs</a>
|
46
|
+
<a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a>
|
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 » 8 steps for fixing other people’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 ® All Rights Reserved
|
179
|
+
</div>
|
180
|
+
|
181
|
+
</div>
|
182
|
+
</body>
|
183
|
+
</html>
|
data/site/css/clean.css
ADDED
@@ -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
|
+
}
|
data/site/css/layout.css
ADDED
@@ -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
|
+
}
|
data/site/css/style.css
ADDED
@@ -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 — 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
|
+
|
35
|
+
<a href="../index.html">Home</a>
|
36
|
+
<a href="../quickstart/index.html">Quickstart</a>
|
37
|
+
<a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a>
|
38
|
+
<a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a>
|
39
|
+
<a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a>
|
40
|
+
<a href="../reference/index.html">Reference</a>
|
41
|
+
<a href="../rdoc/index.html">RDocs</a>
|
42
|
+
<a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a>
|
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 ® All Rights Reserved
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
</body>
|
61
|
+
</html>
|
Binary file
|
Binary file
|
Binary file
|
data/site/img/stamp.jpg
ADDED
Binary file
|
Binary file
|
data/site/img/tfire.jpg
ADDED
Binary file
|
data/site/img/tmail.png
ADDED
Binary file
|
data/site/index.html
ADDED
@@ -0,0 +1,270 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>TMail — 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
|
+
|
55
|
+
<a href="index.html">Home</a>
|
56
|
+
<a href="/quickstart/index.html">Quickstart</a>
|
57
|
+
<a href="http://lindsaar.net/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/blog_page');">Blog</a>
|
58
|
+
<a href="http://rubyforge.org/frs/?group_id=4512" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/download_page');">Download</a>
|
59
|
+
<a href="http://rubyforge.org/mailman/listinfo/tmail-talk">Mailing List</a>
|
60
|
+
<a href="./reference/index.html">Reference</a>
|
61
|
+
<a href="./rdoc/index.html">RDocs</a>
|
62
|
+
<a href="http://rubyforge.org/projects/tmail/" onClick="javascript:urchinTracker('/outgoing/rubyforge.org/project_page');">Project</a>
|
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&release_id=15889"
|
77
|
+
title="RubyForge: TMail: Project Filelist">RubyForge</a> project
|
78
|
+
or via Ruby Gems "tmail"</p>
|
79
|
+
|
80
|
+
<p>TMail is written in Ruby and a (very) small bit of supporting C
|
81
|
+
that has pure ruby replacements if you can't compile on your computer.
|
82
|
+
This means TMail will work, out of the box, on any platform that
|
83
|
+
can run Ruby 1.8 or Ruby 1.9.</p>
|
84
|
+
|
85
|
+
<p>TMail is a commonly used library and is production ready. The
|
86
|
+
ActionMailer component of Ruby on Rails uses it as well as the the
|
87
|
+
Nitro web framework and many and others - including the Ruby-Talk mail gateway.</p>
|
88
|
+
|
89
|
+
<p>What TMail does is allow you to play with Emails like you would
|
90
|
+
any Ruby object. So to change the To address of an email, instead
|
91
|
+
of something like:</p>
|
92
|
+
|
93
|
+
<pre class="ruby">
|
94
|
+
my_message = "From mikel@example.org\nReceived by.... etc"
|
95
|
+
my_message.sub(/^To: .*?@.*?$/, "To: mikel@elsewhere.org")
|
96
|
+
</pre>
|
97
|
+
|
98
|
+
<p>Which (a) will break easily and (b) is just not the Ruby-Way™ You can do:</p>
|
99
|
+
|
100
|
+
<pre class="ruby">
|
101
|
+
email = TMail::Mail.parse("From mikel@example.org\nReceived by.... etc")
|
102
|
+
email['to'] = 'mikel@elsewhere.org'
|
103
|
+
</pre>
|
104
|
+
|
105
|
+
<p>And TMail will take care of the details. Isn't that nicer?</p>
|
106
|
+
|
107
|
+
<p>TMail was created by Minero Aoki. It is currently maintained
|
108
|
+
by <a href="http://lindsaar.net/">Mikel</a> and Trans as
|
109
|
+
a <a href="http://rubyforge.org/projects/tmail/"
|
110
|
+
title="RubyForge: TMail: Project Info">RubyForge Project</a> .</p>
|
111
|
+
|
112
|
+
<p>For the impatient there is a <a href="quickstart/index.html">
|
113
|
+
quickstart</a> guide that will get you up and running with TMail
|
114
|
+
in a few minutes, for the rest, there is the full documentation by
|
115
|
+
<a href="rdoc/index.html">RDoc</a> (comming soon) as well as an online
|
116
|
+
<a href="manual/index.html">user manual</a> (needs updating).</p>
|
117
|
+
</div>
|
118
|
+
|
119
|
+
<div class="important_note">
|
120
|
+
<h2>Important Note For Rails and Nitro Users</h2>
|
121
|
+
|
122
|
+
<p>If you are using the Rails or the Nitro Web Framework, and are reading this
|
123
|
+
page, you probably know that your framework of choice uses TMail as it's email
|
124
|
+
handler library already.</p>
|
125
|
+
|
126
|
+
<p>What you may not know, is that if you install the latest TMail gem, your
|
127
|
+
library will use the latest Gem version. Nitro does this because it lists
|
128
|
+
TMail as a dependency, Rails does this because since 2.0RC1, the ActionMailer
|
129
|
+
section of Rails checks for a newer version of the TMail gem as it is loading
|
130
|
+
up and if it finds a Gem version newer than 1.1.0, it will load the Gem version
|
131
|
+
instead of the bundled version.</p>
|
132
|
+
|
133
|
+
<p>So to take advantage of the bug fixes, you can do:</p>
|
134
|
+
|
135
|
+
<pre class="shell">
|
136
|
+
$ sudo gem install tmail
|
137
|
+
</pre>
|
138
|
+
|
139
|
+
<p>And get the latest version installed (1.2) and your web framework will
|
140
|
+
automatically update.</p>
|
141
|
+
|
142
|
+
<p>Rails 1.2 can not do this directly, but if you go to the
|
143
|
+
<a href="http://lindsaar.net/2007/12/11/using-tmail-gem-in-rails-1-2-6"
|
144
|
+
title="lindsaar.net Using TMail Gem in Rails 1.2.6">TMail blog</a>, I have
|
145
|
+
written up how to patch ActionMailer 1.2.x to load the gem version of TMail
|
146
|
+
in preference to the bundled version.</p>
|
147
|
+
|
148
|
+
</div>
|
149
|
+
|
150
|
+
<div class="news">
|
151
|
+
<h2>News</h2>
|
152
|
+
|
153
|
+
<ul>
|
154
|
+
<li>15th of January, 2007
|
155
|
+
<a href="http://rubyforge.org/forum/forum.php?forum_id=20747">
|
156
|
+
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'
|
157
|
+
</li>
|
158
|
+
<li>11th of January, 2007
|
159
|
+
<a href="http://rubyforge.org/frs/?group_id=4512&release_id=18049">
|
160
|
+
New Release - 1.2.1</a> - Bug fixes on address handling as well as unix mailbox handling. More documentation and tests as well.
|
161
|
+
</li>
|
162
|
+
<li>14th of December, 2007
|
163
|
+
<a href="http://tmail.rubyforge.org/rdoc/index.html">
|
164
|
+
New RDoc Put online</a> - Fixed up and released a lot more examples and comments for the TMail::Mail class.
|
165
|
+
</li>
|
166
|
+
<li>2nd of December, 2007
|
167
|
+
<a href="https://rubyforge.org/frs/?group_id=4512&release_id=16737">
|
168
|
+
New Release - 1.2.0</a> - bug fixes for Attachments and the pure Ruby version of Scanner
|
169
|
+
</li>
|
170
|
+
<li>19th of November, 2007
|
171
|
+
<a href="http://rubyforge.org/tracker/index.php?func=detail&aid=15445&group_id=4512&atid=17370">
|
172
|
+
Create forward now returns a mail object in trunk</a>
|
173
|
+
</li>
|
174
|
+
<li>8th of November, 2007
|
175
|
+
<a href="http://rubyforge.org/forum/forum.php?forum_id=18816">
|
176
|
+
New Release - 1.1.1</a> - bug fixes & Windows/Unix in one Gem
|
177
|
+
</li>
|
178
|
+
<li> 30th of October, 2007
|
179
|
+
<a href="http://rubyforge.org/forum/forum.php?forum_id=18551">
|
180
|
+
New Release - 1.1.0</a> - Now a Gem!
|
181
|
+
</li>
|
182
|
+
<li> 24th of October, 2007
|
183
|
+
<a href="http://rubyforge.org/frs/?group_id=4512&release_id=15695">
|
184
|
+
New Release - 0.11.0
|
185
|
+
</a>
|
186
|
+
</li>
|
187
|
+
<li> 23rd of October, 2007
|
188
|
+
<a href="http://rubyforge.org/forum/forum.php?forum_id=18391">
|
189
|
+
TMail Talk Mailing List Created
|
190
|
+
</a>
|
191
|
+
</li>
|
192
|
+
</ul>
|
193
|
+
|
194
|
+
<br />
|
195
|
+
<a href="http://rubyforge.org/news/?group_id=4512">More TMail News...</a>
|
196
|
+
</div>
|
197
|
+
|
198
|
+
<br />
|
199
|
+
|
200
|
+
<div class="docs">
|
201
|
+
<h2>Documentation</h2>
|
202
|
+
|
203
|
+
<p>Documentation is the focus of development right now, so be sure to check
|
204
|
+
back with what is happening. Each new release adds some more documentation
|
205
|
+
to the mix. If you want to help out, please let us know!</p>
|
206
|
+
|
207
|
+
<p>In the mean time, you can select from below, you can also always ask questions
|
208
|
+
to the <a href="http://rubyforge.org/mailman/listinfo/tmail-talk">TMail-Talk</a>
|
209
|
+
Mailing list and we will do our best to answer.</p>
|
210
|
+
|
211
|
+
<ul>
|
212
|
+
<li><a href="quickstart/index.html">Quick Start Guide</a></li>
|
213
|
+
<li><a href="manual/index.html">User Manual - needs updating</a></li>
|
214
|
+
<li><a href="rdoc/index.html">RDocs - now online!</a></li>
|
215
|
+
</ul>
|
216
|
+
</div>
|
217
|
+
|
218
|
+
<br />
|
219
|
+
|
220
|
+
<div class="development">
|
221
|
+
<h2>Developement</h2>
|
222
|
+
|
223
|
+
<p>
|
224
|
+
If you want to help with the TMail project, please see our
|
225
|
+
<a href="http://tmail.rubyforge.org/contributing/index.html"
|
226
|
+
title="TMail — Contributing to the best Ruby email handler ever!">
|
227
|
+
contributing to TMail</a> page.
|
228
|
+
</p>
|
229
|
+
|
230
|
+
<p>Right now we could do with a lot of documentation work, dive in and send
|
231
|
+
your patches!</p>
|
232
|
+
|
233
|
+
<p>For the impatient, anonymous subversion repository is accessable via:</p>
|
234
|
+
|
235
|
+
<pre class="shell">
|
236
|
+
$ svn checkout http://tmail.rubyforge.org/svn/trunk/ tmail
|
237
|
+
</pre>
|
238
|
+
|
239
|
+
<p>Use the following links to view or sumbit Bugs, Patches and Feature Requests:</p>
|
240
|
+
<ul>
|
241
|
+
<li>
|
242
|
+
<a href="http://rubyforge.org/tracker/?group_id=4512">
|
243
|
+
Review All
|
244
|
+
</a>
|
245
|
+
</li>
|
246
|
+
<li>
|
247
|
+
<a href="http://rubyforge.org/tracker/?func=add&group_id=4512&atid=17370">
|
248
|
+
Report a Bug
|
249
|
+
</a>
|
250
|
+
</li>
|
251
|
+
<li>
|
252
|
+
<a href="http://rubyforge.org/tracker/?func=add&group_id=4512&atid=17373">
|
253
|
+
Request a Feature
|
254
|
+
</a>
|
255
|
+
</li>
|
256
|
+
<li>
|
257
|
+
<a href="http://rubyforge.org/tracker/?func=add&group_id=4512&atid=17372">
|
258
|
+
Submit a Patch
|
259
|
+
</a>
|
260
|
+
</li>
|
261
|
+
</ul>
|
262
|
+
</div>
|
263
|
+
|
264
|
+
</div>
|
265
|
+
<div class="footer">
|
266
|
+
Copyright (c) 2007 TMail Project ® All Rights Reserved
|
267
|
+
</div>
|
268
|
+
</div>
|
269
|
+
</body>
|
270
|
+
</html>
|