[milters] Archive

Lists Index Date Thread Search

Article: 1056
From: Anthony Howe
Date: 2010-09-03 11:17:24 -0400
Subject: Re: milter-spamc 2.0 testing

On 02/09/2010 11:58, Emanuele (aka Skull) whispered from the shadows...:
> On 9/2/10 10:01 AM, Anthony Howe wrote:
>> This is fine for a single user, but multi-recipient messages will cause
>> some annoyances. Some postmasters will opt to use a MTA that does
>> envelope splitting to solve this.
> 
> Not manageable from the recipient side, though.
> 
> With multi-recipient mails you need to accept the first RCPT and 45x the
> rest.
> The sender puts the mail back in queue with all the recipients except
> the delivered one in order to retry later.

That is a cute, but inefficient time-wise method to envelope splitting
(I like it though as it is easy to implement).

In theory, I have all I need to implement envelope splitting in a
milter, it would be efficient time-wise (relative to the above
suggestion), but less so resource-wise:

a) Need to save yet-another-copy of the message. Sendmail will have the
master queued copy, each milter that intends to do body modification
will have temp. file copy or milters that need to feed AV scanners a
file path, instead of streaming. This means more disk use.

b) For each RCPT, send copy to localhost:25. Invokes an internal "hop".
Requires another process file descriptor used in a threaded application,
might require max. process file descriptor increases.  Not a big deal
really.

But a milter issue that concerns me is that milters are chained and the
body modifications of one milter are seen by the downstream milter, but
not upstream milters. This means the envelope-splitter needs to be first
in the chain (counter intuitive) and detect single RCPT to skip
splitting and pass through to down stream milters.

> If the mail has several RCPTs and a queue-reflush time of 5 minutes, the
> last recipients is going to receive the mail after hours...

Even worse in most cases. Some sites use fixed queue retry time like 15
or 20 minutes. Other sites use an exponential back-off on retries. So
delivery of a message to all RCPTs will as you note take very long
relative the number of RCPTs.

> A thing that came to my mind in my worst nightmares is:
> let the system reject with 45x all the recipients that differ from the
> first one in their "whitelisting status".

Interesting thought.

-- 
Anthony C Howe            Skype: SirWumpus                  SnertSoft
+33 6 11 89 73 78       Twitter: SirWumpus      BarricadeMX & Milters
http://snert.com/      http://nanozen.info/     http://snertsoft.com/

Lists Index Date Thread Search