Harald Hanche-Olsen <[EMAIL PROTECTED]> writes:
> + [EMAIL PROTECTED]:
>
> | Qmail use the address #@[] as the envelope sender address for double
> | bounces. The messages with this sender address are rejected by
> | Microsoft Exchange IMS with this error (from qmail logs):
> |
> | Connected_to_NNN.NNN.NNN.NNN_but_sender_was_rejected.
> | /Remote_host_said:_553_malformed_address:_<#@[]>/
> |
> | I have read the RFC821 (SMTP) and it seems to me that this address
> | is ilegal. [...]
>
> I am no RFC lawyer myself, but it looks like you're right. In fact,
> if memory serves, that address was chosen because practically all
> servers will accept it as a sender address, but at the same time it is
> guaranteed to be unreplyable, which puts an effective stop to bounce
> loops.
>
Harald,
First, thank you very much for your help. This information confirms my problem's
diagnosis.
About the sender address used by qmail, I understand that it's difficult to
choose an address given that the RFC's don't reserve any for this purpose.
However the choice of an "ilegal" address seems to me a little unfortunate, even
more since it's hard coded. Though it could be useful in most cases, some RFC
compliant product, as Microsoft Exchange in this case, would be affected. Many
founded critics to Microsoft products are based on their standards violations.
It's surprising that an excelent program as qmail suffers a "similar" flaw.
> [I skipped the part about patching qmail to use a different double
> bounce sender, since you already discovered that an external solution
> works just as well.]
>
> | Furthermore I tried another solution. I forward double bounces but
> | changing the envelope sender with this .qmail file:
> |
> | | qmail-inject -f"<>" postmaster@exchange-server
> |
> | However, if this forwarding fails, this configuration could produce
> | a mail loop. Any suggestions?
>
> First, doesn't that make qmail-remote say "mail from:<<>>"?
>
Something similar but even uglier: "<<>@mydomain>". My original choose is really
dreadful 8^).
> Second, you're right about the loop. I would rather do something like
>
> |NEWSENDER=triplebounce forward postmaster@exchange-server
>
> and have .qmail-triplebounce contain
>
> |echo 'Aaack! Pfhht! Triple bounce!'
>
> which will just put that message in the log and discard the mail.
>
> - Harald
>
Your hint is very useful but to avoid loops I have followed these steps:
* The doublebounceto must be different from local postmaster.
* Also doublebounceto must be different from triplebounce sender.
* The triplebounce .qmail allways must return success. If the forwarding
fails, qmail will create a simple bounce to "triplebounce", since we have
changed the sender, and if this bounce fails again qmail will produce a new
double bounce that closes the loop.
* Since we are bypassing the qmail's bounce loop detecction, the logs are forged:
Apr 6 19:12:42 hostname qmail: 923418762.691380 delivery 6: success:
Triple_bounce!!_Message_discarded./did_0+0+1/
So the triple bounces are logged as successful deliveries. That could affect
mail stats and log analysis.
Finally, I opted for modifying the source code because it seems to me easier to
maintain and support than tricking with qmail users.
dj.
====
David Jorrin <[EMAIL PROTECTED]>
"This chapter is about Laziness, Impatience
and Hubris because this chapter is about
good software design"
Larry Wall, Tom Christiansen &
Randal L. Schwartz [Programming Perl]
----------------------------------------------------------------
Get your free email from AltaVista at http://altavista.iname.com