Re: [Exim] Sintactically invalid arguments... where?

Góra strony
Delete this message
Reply to this message
Autor: Alan J. Flavell
Data:  
Dla: Kevin P. Fleming
CC: Exim users list
Temat: Re: [Exim] Sintactically invalid arguments... where?
On Tue, 25 Mar 2003, Kevin P. Fleming wrote:

> Lukas wrote:


> > The only thingh I know is that it should be a Microsoft server
> > (please do not reply that I should not be surprised.... :))))
>
> You should not be surprised. :-)


Quite...

> The problem is the "_" character in the HELO/EHLO argument; it is not
> legal. By default Exim will not accept it.


There's actually a problem with rejecting it so early in the
transaction, because it means they can't even contact your postmaster
to discuss their problem. (OK, some would say "serves them right",
but...)

After running like that for some time, we changed to not testing it
until RCPT TO time, after the postmaster/abuse addresses have been
accepted. To do that, you put into your main configuration

helo_accept_junk_hosts = *

used in conjunction with an ACL snippet for the RCPT ACL such as I
show below.

> It is your choice whether to do so or not; given the high number of
> misconfigured Microsoft Exchange servers out there (and the ridiculous
> difficulty of renaming them), you will probably end up accepting them.


Given the high number of spammers who are dumb enough to put
underscores in their HELO names, I don't think it's such a good idea
to let that fault in globally, but we have a file (not surprisingly
called helo_accept_junk_hosts) which lists the misconfigured hosts
which we had already decided to let in.

So the ACL snippet goes something like this:


deny hosts = ! CONFIG_DIR/helo_accept_junk_hosts
     message = Rejected because unacceptable syntax in HELO/EHLO name: \
                        $sender_helo_name \n\
         This is commonly associated with misconfigured mail software:\n\
         see RFC2821 for legal domain syntax.\n\
         SORRYTEXT
     condition = ${if match \
             {$sender_helo_name}{\N^[-a-zA-Z0-9.]+$\N}{no}{yes}}



- where SORRYTEXT is a macro containing the usual blurb about how
sorry we are for the inconvenience to bona fide senders and in case
of difficulty to please contact the postmaster address.

good luck