[Mono-list] System.Web.Mail Enumerations
Jeffrey Stedfast
fejj@ximian.com
22 Apr 2002 19:09:01 -0400
Lawrence,
Awesome that you're working on Mono.Mail, but I'm a bit concerned that
it's not going in the direction that I had envisioned (of course, I'm
not currently hacking on Mono.Mail so I can only offer guidance ;-).
I see that at least some of the API is modeled after Camel's API (or at
least the JavaMail API which Camel stole a lot of ideas from). This is
good.
But...
It would be really nice for the encoders/decoders, for example, to work
more like they do in our (Ximian's) Camel Mail API where they act as a
stream filter, thus allowing incremental encoding/decoding of streams.
Having stream filters makes a lot of things easier. For example, one
could attach a base64 encoder and a LF -> CRLF filter onto a stream.
Without doing this, you would have to base64 encode to a temp stream,
and then CRLF encode that temp stream into the final output stream.
(the camel encoder/decoder implementations are also extremely fast)
I think the SMTP code could also benefit from mimicking Camel's SMTP
implementation which covers most extensions that you would probably care
about including SASL, STARTTLS, ENHANCEDSTATUSCODES, etc. It also
contains a few work-around hacks for broken server implementations that
you may find useful ;-)
The following URL provides a cvsweb type of interface to the Camel cvs
repository.
http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=evolution/camel
Another advantage of following Camel as closely as possible is that
Camel has proven itself in the Real World.
I hope you consider looking into Camel as a reference.
Jeff
On Mon, 2002-04-22 at 15:03, Lawrence Pit wrote:
>
> Then I'll add these before I go do my taxes.. :)
>
> It assumes the System.Web.SmtpMail.Send will use a loosly coupled component,
> which I've called Mono.Mail.Smtp.SmtpSender for the moment, but should in
> the future be replaceable by any component.
>
> The attached also includes a Base64 encoder and decoder which can be
> efficiently used in streams. I'm finishing up the UU decoder. Then I'll do
> the quoted-printable stuff.
>
>
>
> Greets,
> Lawrence
>
> ----- Original Message -----
> From: "Jonathan Stowe" <gellyfish@gellyfish.com>
> To: <mono-list@ximian.com>
> Sent: Sunday, April 21, 2002 15:31
> Subject: [Mono-list] System.Web.Mail Enumerations
>
>
> > I could do these before I went to the pub and it seemed like a good place
> > to start :)
> >
> > /J\
> > --
> > Jonathan Stowe |
> > <http://www.gellyfish.com> | This space for rent
> > |
> >
>
>
--
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj@ximian.com - www.ximian.com