Rulesets with multiple recipients

David Jacobson davidj at synaq.com
Thu Nov 26 11:37:09 GMT 2009



----- "Steve Freegard" <steve.freegard at fsl.com> wrote:

> David Jacobson wrote:
> > Hi List / Julian,
> > 
> > I understand that this has been discussed a few times, however would
> 
> > like to raise this topic again.
> > 
> > Scenario:
> > 
> > We offer a service to certain users only for some domains where we 
> > forward a copy of their mail to a seperate server and deliver (kinda
> 
> > like an insurance policy) - incase they have trouble with their
> server 
> > and need to access a mail urgently and/or respond.
> > 
> > This works fine - unless the mail has multiple recipients in the
> same 
> > domain.
> > 
> > Example : user1 at company.com sends to user1 at company2.com and 
> > user2 at company2.com MailScanner will parse the non spam action rules
> and 
> > see that the action for user1 at company2.com is to forward to another
> 
> > server and deliver, then it will do that and skip the rest of the 
> > forwards and deliver mail normally.  This is a problem, as all users
> in 
> > the RCPT TO should be forwarded & delivered.
> > 
> > I understand this is not a MailScanner issue as MailScanner does not
> 
> > split the mail and can only really do one action with the message 
> > (understandable).
> > 
> > I also understand I can change the default behaviour from first
> match to 
> > use default ruleset with "Use Default Rules With Multiple Recipients
> = 
> > yes" however since we only do this for certain users and only for 
> > certain domains that change will not help.
> > 
> > So I assume the fix people will suggest is to actually split the
> mail so 
> > MailScanner can do the right thing per message.  I have done this
> with 
> > Exim and it works fine in terms of splitting the mail and then doing
> the 
> > correct rules per mail.
> > 
> > My major concern with this is as follows:
> > 
> > 1) Increasing the load on the server, 1 message to 10 recipients is
> now 
> > 10 seperate messages
> > 2) Bandwidth increase to customer
> > 3) MailWatch logs seperate messages to maillog
> > 
> > Point 3 is my biggest problem - we don't want to have 10 of the same
> 
> > messages logged in maillog - this will increase our DB size (which
> is 
> > already huge) and it will be "non efficient" to have multiple of the
> 
> > same messages in the DB for us to search and release etc.
> > 
> > Additionally I could be wrong but I'm not even sure if splitting
> mail 
> > like this is RFC compliant.
> > 
> > OK, so now that my rant is over about the issues we have - is it at
> all 
> > possible to change MailScanner in any way to parse through the
> ruleset 
> > via a subroutine or something similar so it doesn't do first match
> and 
> > works out it's to multiple recipients and somehow parses the ruleset
> 
> > correctly?
> > 
> > Or perhaps any other way EXCEPT splitting the mail as I can see it 
> > causing more problems than it's worth.
> > 
> 
> Recipient splitting is advisable anywhere users are able to set-up
> their
> own preferences as you have to consider that case of a
> multi-recipient
> e-mail where one user has blacklisted the sender (this will cause the
> mail to be blacklisted for all recipients).
> 
> The SpamAssassin cache reduces a lot of the overhead of recipient
> splitting however there are a few disadvantages as you point out;
> IIRC
> Exim and Postfix recipient splitting is also pretty ugly whereas
> Sendmail definitely wins out in this regard (it generates multiple
> qf/df
> files on message reception instead of requiring re-injection).
> 
> However - forgive me for saying - but the whole method of (mis)using
> Non-Spam Actions for what you are attempting is a nasty hack which is
> why it's causing you issues.
> 
> The most straightforward way to achieve what you are trying to do
> would
> be to maintain a 'map' of the users/domains that have this 'feature'
> enabled e.g.:
> 
> blah at blah.com ->  forward at blah.com
> ...
> 
> Then either in a MailScanner CustomFunction *or* in your MTA; build up
> a
> Bcc: header based on the envelope recipients using the map.  If
> MailScanner delivers the message (e.g. it's non-spam) then the 'copy'
> mailbox automatically gets sent a copy via the Bcc: header.
> 
> IMO - that's a far less horrible way to achieve this without trying
> to
> misuse the message actions.
> 
> Regards,
> Steve.

Steve,

Thank you very much for the guidance - sometimes a push in the right direction is what's required :)

We've tested with Exim and it definitely seems like a more elegant solution as you suggested.

Thanks again.

David

> 
> -- 
> MailScanner mailing list
> mailscanner at lists.mailscanner.info
> http://lists.mailscanner.info/mailman/listinfo/mailscanner
> 
> Before posting, read http://wiki.mailscanner.info/posting
> 
> Support MailScanner development - buy the book off the website!





Tel:	011 262 3632
Fax:	086 637 8868
Cell:	083 235 0760
Email:	davidj at synaq.com
Web:	www.synaq.com

Sandhaven Office Park, Pongola Crescent
Eastgate Ext 17 Sandton






-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.mailscanner.info/pipermail/mailscanner/attachments/20091126/9d20df75/attachment.html


More information about the MailScanner mailing list