Hello list,
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 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
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.
_cbToValidate;
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!
Fabio
_______________________________________________