[Twisted-Python] newbie seeking advice

Ricardo Kirkner ricardo at fcen.uba.ar
Mon Jun 28 14:21:05 EDT 2004

I am new to twisted, so I am still trying to grasp how to work with 
twisted in the first place. Right now, what I am trying to do, is to 
write some type of smtp proxy.

What I need is a program that will listen for SMTP connections, and will 
intercept the SMTP commands, so that I can, for example:

- choose from a list of smtp servers to proxy to, based on the from and 
to addresses (and maybe get this info from a database)
- send the mail I am currently receiving to the elected proxy or deny 
the mail attempt entirely
- do some other types of checking

Can anyone please guide me on how I can write such a program?

With regards

Ricardo Kirkner

PD: I have looked at some of the classes in twisted, but I just cannot 
make out which one is best for this. At first I have tried to use the 
portforward.Proxy class in order to write a simple proxy, but later on I 
found this would not let me choose to which server I want to connect to, 
but I was required to predefine the ip of the server.
Later on I looked directly at the smtp.SMTP class and somehow got to 
manage a skeleton for my program, but I was stuck at not knowing how to 
forward the mail I was already receiving to the elected server.
I also found the mail.MailService class, although I think this is a 
little too much for my purposes (but I am not sure for what this class 
is intended, since it also includes a pop3 and imap4 server, I think)

More information about the Twisted-Python mailing list