[Mimedefang] common practice

Kelson Vibber kelson at speed.net
Fri Dec 5 19:32:33 EST 2003


At 02:26 PM 12/5/2003, Cor Bosman wrote:
>Surely this is only meant for small sites :) We do 3+ million emails a day.
>Last thing I want is resend what's probably hundreds of thousands of
>emails. We get emails with large amounts of recipients.
>
>I cant imagine a 300 recipient email exploding into 300 emails :)

As far as I know, the only way to treat each recipient differently once you 
have the actual message is to process it separately for each recipient or 
class of recipients.  This can be done either by doing the filtering in the 
delivery step (i.e. through procmail) or resending the message locally.

MD offers two features, stream_by_recipient and stream_by_domain, depending 
on whether you have people with the same domain using different 
criteria.  I understand that Can-It Pro also lets you define classes of 
recipients and stream by class (i.e. if you have 300 recipients, each of 
which uses one of two sets of criteria, you can split it into just two 
copies instead of 300).

Stream_by_recipient should be run early in filter_begin, but you can write 
your filter to call it only when necessary.  If you have 300 recipients, 
but they'll all treat the message the same, you don't have to resend it at 
all.  If you use the same server for outgoing mail, and none of the 
recipients are local, you can skip it under those circumstances as 
well.  If the individual variations in criteria don't involve custom SA 
rules, you could probably move your SA checks to filter_begin and only 
stream the message if it appears to be spam *and* the recipients don't all 
have the same thresholds.  (Under those conditions you'd be running SA once 
per instance anyway, so this would only add one more run.)

Just some thoughts.


Kelson Vibber
SpeedGate Communications <www.speed.net> 




More information about the MIMEDefang mailing list