Struggling little bit to write a Postfix content filter [1] with Twisted
Mail. The content filter will eventually add a cookie to the "from"
address, identifying the address that the message was sent to

Here's my attempt so far [2]

The problem is that the SMTP client finishes sending the message before
the SMTP server finishes receiving it - i.e. Client.sentMail() is called
before Message.eomReceived()

To fix this, I want SMTPClient.smtpState_data() [3], which uses
FileSender [4], to wait for the server to finish receiving the message
before proceeding to smtpState_msgSent()

Is this possible?

The only alternative I can think of is to not start sending the message
until after the server finishes receiving it - i.e. start sending the
message after Message.eomReceived() is called. But this seems to me like
it would have worse performance than sending messages at the same time
as they're being received - especially for a message with a large
attachment

How can I avoid the client finishing sending the message before the
server finishes receiving it?

[1] http://www.postfix.org/SMTPD_PROXY_README.html
[2] https://github.com/jablko/cookie/blob/master/cookie
[3] 
http://twistedmatrix.com/trac/browser/tags/releases/twisted-10.2.0/twisted/mail/smtp.py#L1126
[4] 
http://twistedmatrix.com/documents/current/api/twisted.protocols.basic.FileSender.html

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to