I'm new to twisted and to python in general, so still deep
in the learning process.
Please forgive any faulty assumptions you'll find in this
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 http://pastebin.com/mbRztuid
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 done differently/better?
Thanks a lot for your help!