On 2007-09-09 15:26:29 -0400, Charlie Brady wrote:
> On Sun, 9 Sep 2007, Tim Tsai wrote:
> >It's silly to keep replying to myself, but here goes.  I  notice in 
> >smtp-forward this loop:
> >
> > for ($transaction->recipients) {
> >  $smtp->to($_->address) or return (DECLINED, "To: Unable to queue message 
> >($!)");
> > }
> >
> >this seems to suggest that if any one recipient fails, the whole 
> >transaction fails.  That seems to be contrary to my experiences with mail 
> >servers.  Would it be better for me to count the number of valid 
> >recipients and DECLINED or DENY only if there are no valid recipients at 
> >all?
> 
> The right solution to this problem has been discussed here previously - 

I know that it has been discussed several times, but I don't agree this
is the right solution.

> the smtp-forward plugin should hook into multiple hooks, and pass the 
> mail_from and rcpt_to data to the back end as it is received, relaying 
> responses as the back end gives them.

That forces smtp-forward to be the last plugin in the rcpt hook, because
any later plugin could return a 5xx (or worse, a 4xx) error to the
client while the backend has already accepted the recipient.

Since a large percentage of the recipients doesn't exist IME, the check
for existing recipients should be (one of) the first, not the last.

        hp

-- 
   _  | Peter J. Holzer    | I know I'd be respectful of a pirate 
|_|_) | Sysadmin WSR       | with an emu on his shoulder.
| |   | [EMAIL PROTECTED]         |
__/   | http://www.hjp.at/ |    -- Sam in "Freefall"

Attachment: signature.asc
Description: Digital signature

Reply via email to