> Some alternatives we considered and didn't go for:
> - write something in Zope to listen for SMTP connections, effectively
> large portions of an MTA. This would be cool but painful.
Providing a basic SMTP server is not at all difficult to do in Python. I did a
cut-down one once as
part of a test system, and extending it would be straightforward (the cut-downness was
structure, just did not bother to implement the SMTP commands I did not need - the
was a state-machine [natch!] - however one problem I did come across was that it was
not possible to
implement the state machine completely from the RFC, which contains ambiguities).
Some potential troublespots in re-visiting this work:
- error handling, if done properly, might cause some problems (the state machine
helps a lot here,
but I cannot guarantee that I did not miss something obvious)
- emails nowadays can be very large, with MIME encoded movies and stuff. Each
received email has
to be stored somewhere - can we (would we want to?) reliably store this kind of data
in the ZODB?
> - pull mail from a POP or IMAP server. This had the downside that it
> introduced polling into the system (slow) and also required something
> to happen on a schedule, which doesn't happen in Zope yet.
Funny you should mention this. I am considering moving my domain from the current ISP
to a friend's
server. One of my current ISP's services that I use is webmail, so I was looking at
how this could
be done after the move. Sending mail through a web interface is a doddle, but what
received emails? I had got as far as realizing that something could be built on
for POP3 - use POP3 to collect the headers of currently available messages, create a
displaying them, with each entry linked to a page that would download (without
I think that my current ISP's webmail system must be doing something like this. So
far it looks
fairly straightforward to implement.
(who now realizes that he has to find that old Python SMTP server code - now I wonder
where I put it
Zope maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -