I'm new to twisted and to python in general, so still deep in the
Please forgive any faulty assumptions you'll find in this post :)
I'm trying to accomplish to the following task: realize a tool that
acts as a proxy between the SMTP domain and the 'objects' domain.
That is: a daemon that listens for SMTP connections (relayed
sessions from Postfix) and bundles everything that belongs to a
single session (envelope sender, envelope recipients, headers, body)
into an object (it will probably become a JSON one day, not decided
yet). The aim is to allow further processing (es. publishing to a
queue) of a self-contained item.
My (draft) implementation can be reached at
My main concerns are:
1) am I using the right classes? My implementation leverages
twisted.mail.smtp, is this correct?
2) I've overridden smtp.SMTP.
I really don't like this very much (I'd like to leave the protocol
untouched) but it's the only way I've come up with (after several
days of experiments :) ) to have one single payload down the line
(in smtp.SMTP.do_DATA), and not one copy of the message for every
single recipient. May this have bad consequences?
3) what do you think about the overall approach? could it have been
Thanks a lot for your help!