[Mimedefang] Delaying 2xx as long as possible with stream_by_xyz()

Steffen Kaiser skmimedefang at smail.inf.fh-bonn-rhein-sieg.de
Fri Jan 27 03:39:21 EST 2017

Hash: SHA1

On Thu, 26 Jan 2017, Kevin A. McGrail wrote:

> If not, can we do interactive SMTP responses such as checking the helo 
> values, then stream the messages to process it per domain or per recipient?
> I can't find it documented, but I seem to remember that once you stream the 
> messages per domain or per recipient, that you've given a 2xx DSN and closed 
> the session.  So if you then later find you want to decline, you have to 
> generate a bounce.
> Any pointers appreciated especially if this is a milter limitation or an MD 
> framework limitation that I can figure out a way around!

"If  users  are  in  different  domains,  stream_by_domain()  resends  the 
message  (once  to each domain) and returns 1 For example, if the original 
recipients are joe at abc.net,
               jane at xyz.net and sue at abc.net, the original message is resent 
twice: One copy to joe at abc.net and sue at abc.net, and another copy to 
jane at xyz.net.  Also, any subsequent scanning  is
               canceled (filter() and filter_end() will not be called for 
the original message) and the message is silently discarded."

It's the last sentence, IMHO.

But you *can* delay, I think:

                   sub filter_begin {
                         if (stream_by_recipient()) {

### Here you can delay, but how would you get information about
# the processing of resent messages?
# also, if the connection interrupts, the sender retries and
# the message is processed another time, maybe resending it yet another 
# time ....

                         # Rest of filter_begin

- -- 
Steffen Kaiser
Version: GnuPG v1


More information about the MIMEDefang mailing list