File: TODO.html

package info (click to toggle)
ruby-rubymail 1.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,188 kB
  • ctags: 1,109
  • sloc: ruby: 6,061; makefile: 7
file content (229 lines) | stat: -rw-r--r-- 6,022 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>File: TODO</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <link rel=StyleSheet href=".././rdoc-style.css" type="text/css" media="screen" />
  <script type="text/javascript" language="JavaScript">
  <!--
  function popCode(url) {
    window.open(url, "Code", 
          "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
  }
  //-->
  </script>
</head>

<body bgcolor="white">
<table summary="Information on file" width="100%">
 <tr class="title-row">
 <td><table summary="layout" width="100%"><tr>
   <td class="big-title-font" colspan="2">TODO</td>
   <td align="right"><table summary="layout" cellspacing="0" cellpadding="2">
         <tr>
           <td  class="small-title-font">Path:</td>
           <td class="small-title-font">TODO</td>
         </tr>
         <tr>
           <td class="small-title-font">Modified:</td>
           <td class="small-title-font">Fri Feb 27 20:21:40 PST 2004</td>
         </tr>
        </table>
    </td></tr></table></td>
  </tr>
</table>
  <!-- banner header -->



<div class="description"><p>
In rough priority order...but please let me know if something you need is
missing.
</p>
<h1>FIXME</h1>
<ul>
<li>StreamHandler should get preamble_begin and preamble_end callbacks. Same
for epilogue_begin, epilogue_end.

</li>
</ul>
<h1>STOLEN</h1>
<ul>
<li>Header continuation issue:
https://sourceforge.net/tracker/?func=detail&amp;atid=105470&amp;aid=504152&amp;group_id=5470

</li>
<li>Subject: =?ISO-8859-1?Q?=24=A3_Kills_IRB?=

</li>
</ul>
<h1>Documentation</h1>
<ul>
<li>Make it clear that all strings the library works with are the ASCII strings
that are part of the RFC2822 message &#8212; not strings in any other
charset.

</li>
<li>Update Intro.txt, write MIME.txt and other Guides.

</li>
</ul>
<h1>Features</h1>
<ul>
<li>RFC2231 <a
href="http://mail.python.org/pipermail/email-sig/2003-November/000032.html">mail.python.org/pipermail/email-sig/2003-November/000032.html</a>

</li>
<li>Smart handling of charset issues for text/ types.

<dl>
<dt>Goal</dt><dd>allow setting the body part to a given piece of data, and <a
href="../classes/RMail.html">RMail</a> handles setting the appropriate MIME
headers. This requires the data to have a known charset.

</dd>
</dl>
<p>
Maybe this plays into the encoding solution below.
</p>
</li>
<li>Base64 and quoted-printable encoding

<dl>
<dt>Goal</dt><dd>allow setting the body part to a given piece of data, and <a
href="../classes/RMail.html">RMail</a> handles setting the appropriate MIME
headers and possibly quoted-printable or base64 transcoding it if
appropriate.

</dd>
</dl>
<p>
This may be best done by introducing an RMail::TransferEncodedString class
that knows whether it is transcoded as binary, quoted-printable, base64,
etc. You would set RMail::Message#body to a TransferEncodedString and <a
href="../classes/RMail/Message.html">RMail::Message</a> would set the
appropriate MIME headers. If at serialization time the message body were
set to a plain String, then <a
href="../classes/RMail/Message.html">RMail::Message</a> would transcode it
into base64.
</p>
</li>
<li>An RMail::Message#attach method that takes care of setting
content-disposition, etc.

</li>
<li>Header folding in <a href="../classes/RMail/Header.html">RMail::Header</a>.

</li>
<li>A small wrapper around Net::SMTP#send_mail that takes care of:

<ul>
<li>parsing recipients out of the various message headers

</li>
<li>deleting the Bcc: header

</li>
<li>sending the message

</li>
</ul>
</li>
<li>Provide a way to parse just the message headers, leaving the rest in the
input stream (for use by RubyFilter). This also implies a feature that
parses a message body given a <a
href="../classes/RMail/Header.html">RMail::Header</a> object and an input
stream. This should be easy &#8212; read line by line until you get an
empty line or EOF, then pass that off to parse_header as a string to be
parsed. Parsing the body can just use a PushbackReader.

</li>
<li>Handle different end of line terminators everywhere (for both parsing and
generating).

</li>
<li>Provide some way when parsing a message to start spooling to disk for
really large messages. This would be easy to do depending on how message
body transparency is implemented.

</li>
<li>MIME charset support in header fields and message bodies. This requires
m18n support in ruby, so it won&#8217;t be coming soon.

</li>
<li>Maildir parsing.

</li>
<li>Simplify the Parser such that the class used to hold the parse result can
be easily changed and so the memory used can be minimized.

<p>
The idea is to support &quot;bogofilter&quot; style parsing where the data
of the parse is immediately processed and thrown away but the structure and
content of the parsed message is important.
</p>
<p>
This may require extensions to header parsing, where things like the
important MIME header fields can be parsed without creating a whole <a
href="../classes/RMail/Header.html">RMail::Header</a> object.
</p>
</li>
</ul>
<h1>Minor Features</h1>
<ul>
<li>Untainting of email addresses. See Perl&#8217;s CGI::Untaint::email.

</li>
<li>Parser for Received: headers. See Perl&#8217;s Mail::Field::Received.

</li>
</ul>
<h1>Documentation Tasks</h1>
<ul>
<li>A &quot;howto&quot; like documentation.

<ul>
<li>How to write out a base64 encoded MIME part to a file.

</li>
<li>How to parse a unix MBOX file.

</li>
<li>MIME operations (see RFC2047)

<ul>
<li>Character sets in message bodies

</li>
<li>Non-textual message bodies

</li>
<li>Multi-part message bodies

</li>
<li>Textual header information in character sets other than US-ASCII.

</li>
</ul>
</li>
</ul>
</li>
<li>Go through every class and make sure the methods are sorted in a sensible
order so the RDoc output is nice.

</li>
</ul>
</div>








</body>
</html>