\[Editor's note: Email your Exchange Server and Outlook solutions (under 400 words) to R2R at [email protected] Please include your phone number. We will edit submissions for style, grammar, and length. If we print your contribution, you'll get $100.\]
The colleges I work for migrated from a text-based VMS mail system to Exchange Server. Soon after the migration, email use—and mail system misuse—increased dramatically. One of the most common abuses was for users to select all the names in the Global Address List (GAL) to send an announcement or the latest joke or to forward chain mail. Hundreds of users selecting all the names in the GAL simultaneously can bring your system to its knees (we have roughly 5000 users listed in the GAL).
We solved this problem by limiting the number of recipients a message can have. (For more information about imposing this limit, see the Microsoft article "Limiting the Number of Recipients of a Message" at http://support.microsoft.com/support/kb/articles/q126/4/97.asp.) We also promoted the use of system distribution lists (DLs) and placed restrictions on those DLs to prevent further abuse and to protect the mail system's resources during peak hours. We forced users to defer delivery of messages addressed to system DLs to specified off-peak hours. (For more information about deferring messages, see the Microsoft article "XCLN: Deferred Delivery Options for Exchange/Outlook Clients" at http://support.microsoft.com/support/kb/articles/q188/6/96.asp.)
We created two Exchange import files: testopen.csv
Obj-Class,Alias Name,Directory Name,Obj-Container,Accept Messages From DL DL,Test List,Test List,Recipients,All Users DL
Obj-Class,Alias Name,Directory Name,Obj-Container,Accept Messages From DL DL,Test List,Test List,Recipients,Administrator DL
Both files set the Accept Messages From DL property on selected system DLs. Testopen.csv set this property to make the DL Test List available to all users (All Users DL). Testclose.csv closed the Test List by setting the property to Administrator DL, which contained only the Administrator mailbox as a member.
Finally, we used a combination of the Windows NT Schedule service (AT command) and the command-line import capabilities of Exchange Administrator. We scheduled two commands a few hours apart to run on our mail server each morning. The first command
AT 3:00 /Every:M,T,W,Th,F,S,Su "c:\exchsrvr\bin\admin.exe /I c:\exchsrvr\bin\TESTOPEN.CSV /O options.opt"
imported testopen.csv, which opened the Test List DL to all users. The second command
AT 6:00 /Every:M,T,W,Th,F,S,Su "c:\exchsrvr\bin\admin.exe /I c:\exchsrvr\bin\TESTCLOSE.CSV /O options.opt"
imported testclose.csv, which effectively closed the Test List from general use. The import options file, options.opt, must contain at a minimum the lines
\[Import\] DirectoryService=<Your Exchange Server's Name> OverwriteProperties=Yes
to set the server used as the directory server and to ensure that the system overwrites the contents of Accept Messages From DL during the import.
One final note: Make sure the account that starts the Schedule service has permission to make changes to the Exchange objects that the import modifies. In most cases, you need to change this account from the local system account to an account that has access to the objects within the Exchange directory.