Bryan Scott wrote:


Matt Sergeant wrote:
On 5 Jul 2005, at 16:54, Bryan Scott wrote:

I do like the BATV or VERP idea Guillaume suggested.. would just have to implement it on all outbound email. Is there a queuing plugin for that?

With BATV you need to re-write the sender for each recipient. You can't really do that in qpsmtpd as it's not responsible for outbound delivery. The only way you *might* be able to do it is via calling your particular queueing plugin multiple times, each time modifying the sender and including only one of the recipients.

Right. As you point it out, I realized that would only work for outbound mail, so it would be better implemented in qmail-send or postfix smtp.

-- Bryan
It might depend on which environment you prefer to hack,
qpsmtpd plugins or qmail-send or postfix. You could have
a queue plugin that took apart recipient lists and looked at
individual recipients--I do.

There's no header that says,"local", or "outbound". A
comparison to rcpthosts file would work for a lot of people.
At point the recipient is OK'd, so just a domain check would
serve to split into two routes, local and decline to qmail_q,
in most cases.

My queue plugin identifies via ldap which are local senders,
and if the rest have been ok'd in rcpt plugin, they must be
non-local, so they go out by the same code as in qmail_queue
plugin. I guess for a generic version it might be enough to
look at rcpthosts again to say what goes to qmail or gets
declined to qmail_queue plugin. My local stuff goes out
via Net::LMTP. Actually all you have to do is identify what's
going outside, and mangle that, then decline and let
qmail_queue plugin take it.

Also I'm breaking up multiple recipient arrays into single
recipients, identifying locals, then making two arrays,
local(lmtp to dspam to cyrus imap) and qmail.

This is reminding me I have to fix where I'm not dealing
with multiple Received headers(it's not a scalar it's a ref,
oops, seen a few refs in the log, ARRAY I guess it was).

-Bob

Reply via email to