[Twisted-Python] [twisted.mail][newbie] return tempfail (4xx) after eomReceived()
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Sat Nov 23 05:08:34 MST 2013
On 10:36 am, sangiovanni at nweb.it wrote:
>Hello list,
>
>I'm trying to code an SMTP server that stores received messages in a
>queue (es. RabbitMQ or Redis).
>I'm figuring out how to do it with Twisted, and so far I managed to
>print to console the messages the way I want.
>I'm trying to understand now how to return a tempfail code (4xx) from
>within eomReceived(), so to simulate (and, in the future, handle)
>temporary unavailabilities of the queuing system, and thus to delegate
>to the client the handling/retrying of the delivery (there will be
>postfix in front of my smtp server, so it will keep the message in its
>spool).
>I ended up digging in the code until I found the _messageHandled
>callback of the SMTP class, that's added to the deferred returned by
>eomReceived. I admit I'm not very accustomed to deferreds yet, but I
>can only see 250 and 550 response code inside it. I suspect that I
>should return the 4xx code in one of the deferred's callbacks/errbacks
>*before* _messageHandled, but I really can't imagine how. Would you
>please give me some hints about how to accomplish the task? Am I
>looking to the right direction at all?
See https://twistedmatrix.com/trac/ticket/4904
Jean-Paul
More information about the Twisted-Python
mailing list