Mat Newman 20 September 2011 03:17:59 PMThe great black witch of the dark art of networking (Scott Headlam) and I were collaborating the other day on a very simple method of preventing a user sending a message to more than 'X' number of recipients. The request came from a customer who had a couple of simple restrictions:
- No plug-ins, and
- No third-party tools.
Ok, so a pure Domino solution ... Easy :-)
It came down to a combination of Domino Rules, and a creative use for the Domino White-list feature. It is VERY easy to implement.
What you will need:
- A Database to "quarantine" the messages into
- An agent in that database to "Approve" the messages for delivery, and put them back into the mail.box, and
- A Couple of mail rules.
The extended description is below:
1. Create a new database on the server, for the sake of this exercise I used the mail template, and the file name "admin/toomanyrecipients.nsf"
2. Create a mail rule on the Domino Server(s) that route mail.
a) Open the server's config document: Admin Client -> Configuration Tab -> Server -> Configurations
b) Show the mail rules: "Router/SMTP" Tab -> "Restrictions and Controls" Tab -> Rules Tab
c) New Rule (You need to be in edit mode to add new rules)
d) Conditions to add: Recipient count is greater than X (Add your own number here) AND Whitelist tag contains "Authorised" (Add your own Word Here) -> Perform the Action: Stop processing Further Rules:
What this does: it looks at every message which has greater than "X" number of recipients, checks to see if the Domino whitelist field contains the word (in this case) "Authorised", and if it does, it stops processing any additional mail rules, and delivers the message.
But what about if the message ISN'T "Authorised"
You add a second rule - follow the steps up to (c) above, and in the next rule, you put new step (d):
d) Recipient count is greater than X (Add your own number here) -> Perform the Action: move to Database, AND don't Deliver Message:
What this does: It moves the message to a database that you can monitor, stops the messages being delivered, and deletes the message from mail.box.
3) Open the database you created at step (1), and add an agent/action/etc that:
a) Creates a new field in the email called "$DNSWLSite" And apply the value "Authorised" (or whatever phrase you used at 2 (d)).
b) Copies the document back to the server's Mail.box
c) Deletes the message from the Quarantine database
3(a) is the critical step for this process, as it flags the record with the Domino Whitelist Tag field containing the text you are using to let the message through, before putting the message back into the server's mail.box.
You might also want to create a notification agent in this database that alerts an appropriate person that a message sent to more than "X" number of people needs approval for delivery.
Finally, I used the Mail template for the Quarantine database so that you can simply use the standard "Reply" action to create an email to the sender explaining why you didn't allow the message to be delivered to "X" number of users.