[milters] Archive

Lists Index Date Thread Search

Article: 578
From: Anthony Howe
Date: 2005-05-27 03:57:47 -0400
Subject: Re: Problem with milter-ahead

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support

Kevin Spicer wrote:
>>>We have a number of mail accounts that have addresses beginning with
>>>(these are typically mail groups) ie, the format
>>Plus sign is special in sendmail addresses. It denotes +details such
>>        user+detail@example.com

> You are absolutely correct that the + sign is special in sendmail
> addresses (and other MTAs that support subaddressing) however the
> sendmail web page above makes it clear that this format is for addresses
> in class w...
> "In general, +detail means that when sendmail gets an address like user
> +detail@domain, then if domain is in class w (see step 7 below),
> sendmail checks to see if user+detail can be resolved, then falls back
> to just plain user if not."

Unfortunately, there is no way for a milter to know the domains in class 
w ($=w). The milter API does not provide a means to pass classes to a 
milter. This has annoyed me to no end, because $=w and $=R are very 
useful to know and I still have yet to find a suitable way to obtain 
this information in a "nice generic way". I don't like parsing 
sendmail.cf, its messy and complex.

> However addresses containing a + appear to be perfectly valid on other
> MTA's (I'm using MTA in its broadest sense, and including exchange!),
> and so for milter-ahead to reject these addresses (which neither
> sendmail nor the recieving host would) seems counter-intuitive to me.
> Since the validity of addresses in class w would be checked anyway by
> sendmail (and shouldn't appear in mailertable either) milter-ahead has
> no role in relation to local recipients.  I'm therefore not clear as to
> why milter-ahead worries about the user+detail format.  Surely just

milter-ahead does not handle this directly, its built-in into a common 
library routine in libsnert used by ALL my milters: parsePath() which is 
called directly or by smfAccessMail() and smfAccessRcpt().

> passing the email address as received in the RCPT line would be
> sufficient as the destination host would be responsible for parsing (or
> not) the local part of the address?

In the case of milter-ahead and milter-sender's MxCallAhead, your 
argument is sound. The server being queried may not be a sendmail 
machine and thus the plus sign should be left alone in such cases. I'll 
see what I can do in time for the 1st of June (next week) release of 
milter-ahead and milter-sender. milter-ahead will not be a problem, 
though -sender might prove tricky as it does far more stuff.

Anthony C Howe                                 +33 6 11 89 73 78
http://www.snert.com/       ICQ:
7116561         AIM: Sir Wumpus

new moon on high / jasmine on the breeze / quiet twilight

Lists Index Date Thread Search