Ralf Hildebrandt:
> Currently, smtp_fallback_relay is being used after the first failed
> delivery. 
> 
> http://www.postfix.org/postconf.5.html#smtp_fallback_relay
> explicitly mentions: "With bulk email deliveries, it can be beneficial
> to run the fallback relay MTA on the same host, so that it can reuse
> the sender IP address. This speeds up deliveries that are delayed by
> IP-based reputation systems (greylist, etc.)."
> 
> i thought this could be done easier, like:
> 
> Why not have either a smtp_fallback_relay_threshold
> parameter, which specifies after how many delivery attempts the mail
> will be passed to the smtp_fallback_relay.

Problems:

1) There is no delivery attempt counter. That counter would have
to be per-recipient.  If this counter is larger than 1 byte, then
it may span disk block boundaries, and it may become corrupted when
the machine is shutdown without syncing the disk. Until now, message
queue files have a strong guarantee against such corruption.

2) As mentioned by Viktor the queue manager defers mail for dead
destinations without contacting the SMTP client. In those cases the
smtp_fallback_relay feature has no effect.  For your suggestion to
work we would have to move fallback_relay logic from the SMTP client
into the queue manager. That's a lot of complexity for little gain.

> Alternative/additional approach:
> 
> smtp_fallback_relay_threshold_time (compare to
> smtp_pix_workaround_threshold_time)
> 
> How long a message must be queued before the Postfix SMTP client
> passes the mail to the smtp_fallback_relay.

A threshold would work, with the default of 0 meaning that the
threshold is disabled.

My time is very limited, and this feature is simple enough that I
will take a patch for this.

        Wietse

Reply via email to