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"
signature.asc
Description: Digital signature