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

Reply via email to