Gordon Messmer writes:

Sam Varshavchik wrote:
From: Gordon Messmer [mailto:[EMAIL PROTECTED]

I can conceive of scenarios more likely to occur if you like.
Perhaps your Courier server is on a private network, and it relays
mail out through a host dedicated to that task (maybe that one
provides additional filtering).  Your aliases to off-site hosts,
then, get delivered to your "smart host" with instructions not to
notify users when there are delivery failures.
...

I'm still waiting for an address alias to enter the picture.

Do we have to justify our use of aliases?

Well, since you're claiming that turning off DSNs on an alias forward causes problems, and you would like to provide an example of that, your examples should, actually, involve an alias, shouldn't they?

If I have an alias on a mail server that goes elsewhere, I simply expect delivery to work or else tell me why it can't.

_You_ expect to be notified about a bounce, NOT the original sender. The original sender really doesn't care about the fact that [EMAIL PROTECTED] forwards the mail to twenty recipients, ten of which are on vacation, and have a vacation autoresponder going.

As before, if you think I'm wrong, at least help me out by pointing me at the general location where I should modify courier to suit my needs, please.

There are two places where aliased addresses are added. One place handles an alias that contains two or more addresses; the other place handles an alias that contains a single address. There are slightly different semantics for both cases.

Multi-recipient aliases are processed by RcptAliasHandler::Alias() in courier/submit.C:

 if (listcount == 1)
 {
      if (submitptr->ChkRecipient(aliasbuf) == 0)
         submitptr->AddReceipient(aliasbuf, "", "N", 0);
 }

 if (submitptr->ChkRecipient(p) == 0)
    submitptr->AddReceipient(p, "", "N", 0);

The determination of whether an alias expanded to one or multiple addresses is handled "on the fly". The first address that comes out of an alias is saved in a buffer. When the next one comes out, the first saved address is processed before the second one.

The "N" parameter to AddReceipient is what shuts off DSNs in this case. Replacing the constant with rcptinfoptr->dsn should use the same DSN setting for each alias address as the original list address's DSN.

The other situation, with a single-alias recipient, DSNs are turned off only if the Courier-specific VERP SMTP extension was requested, and are left unchanged in other cases, so nothing needs to be done there.


Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to