Customizing Mailbox Limit Warnings with the Quota Message Service for Exchange
Being able to customize these types of warnings have always been a very common request among Exchange admin’s, but unfortunately too complex for most to accomplish as it involved editing MDBSZ.DLL with RLQUIKED which is included with the Resource Localization Toolset.
The Quota Message Service for Exchange is a neat little program that was developed and still being updated by Jason Nelson, who’s a long time member of the Exchange development team at Microsoft (see his BIO here). Quota Message Service for Exchange was first made publicly available a little over a year ago, more precisely Tuesday, April 20, 2004. You can see the first blogpost about it on the Microsoft Exchange team blog (aka You Had Me At EHLO) here. Back then the program was in its very early stages and therefore didn’t include an installation wizard; in addition it unfortunately had several issues, which has been corrected by now (the reason why this article appears one year after the public release.)
Alright so what is the Exchange Quota Message Service for Exchange anyway? Well it’s a tool with which you can generate custom quota messages for users on Exchange server without editing DLLs (like was necessary in the past) and thereby send custom messages to users who exceed their quota. Exchange Quota Message Service for Exchange uses template messages as a basis for the quota messages. Templates can contain inserts that have the mailbox size, warning limit, send limit, and send receive limit, as well as the difference between each.
Before even considering installing the Exchange Quota Message Service for Exchange program on your Exchange Server, there are a few prerequisites you must first fulfil.
- Apply Exchange 2003 Server Service Pack 1 or if you’re still running Exchange Server 2000 this HotFix
- Create a mailbox-enabled Active Directory user account for Exchange Quota Message Service for Exchange (for example name it QuotaMessageService)
- Grant SYSTEM full mailbox rights to the newly created mailbox (done opening ADUC > enabling Advanced Features under View in the Menu> take Properties of the Active Directory user account > hit the Security tab)
Downloading and installing Quota Message Service for Exchange
You can download the Quota Message Service tool version (latest release at the time of this writing is 1.1.0) at the tools workspace over at GotDotNet.
You should be aware that in case you have a messaging environment consisting of multiple Exchange Servers, you need to create a quota message mailbox on each, also note the Quota Message Service for Exchange doesn’t support Public Folders.
When you have downloaded a copy of the tool simply execute Setup.exe as shown in Figure 1 below.
Figure 1: Executing the Quota Message Service Installation Wizard by double-clicking Setup.exe
Now click Next, see Figure 2 below.
Figure 2: Clicking Next in the Quota Message Service Installation Wizard
Now specify the SMTP address of the Quota Message Service Active Directory user account (see Figure 3), which was created earlier, then click Next.
Figure 3: Specifying the SMTP Address of the Quota Message Service Active Directory Account
Now its time to select the installation folder (the default shown in Figure 4 should be fine), then click Next.
Figure 4: Selecting the Installation Folder
We’re now ready to start the installation so click yes you guessed right – Next (see Figure 5).
Figure 5: Confirming the installation
Let the Installation Wizard complete, then click Close as shown in Figure 6.
Figure 6: Finishing the Installation Wizard
Now that the Quota Message Service for Exchange has been installed you need to create two registry keys in order to have the service fully configured (see Figure 7), therefore do the following:
- Start the Registry editor (Start > Run > Regedit)
- Drill down to HKLM\CurrentControlSet\Services\MSExchangeIs\servername>\<mdb guid>
- Create a REG_DWORD value named Local System Ignores Quota, and set the value to 1 (note this value must be set on each <mdb guid> entry as the quota service otherwise won’t be able to save messages to users who are over shutoff (prohibit send and receive) quotas, if the exchange server does not use shutoff quotas the value can be set to 0 or be omitted)
- Create a REG_DWORD value named Disable Quota Messages, and set the value to 1 (note this value as well must be set on each <mdb guid> entry, the value prevents the MSExchangeIS process from generating internal quota messages)
Figure 7: Creating the required Registry Keys
When the registry keys have been created you must restart the Information Store service, which can be done via the Services.msc snap-in (click Start > Run and type Services.msc) or by opening a command prompt and type NET STOP MSExchangeIS then NET START MSExchangeIS. Afterwards you can start the Microsoft Exchange Quota Service which is listed together with the rest of the Exchange services.
Configuring the QuotaMessageService Mailbox
The next steps are to:
- Configure an Outlook profile to logon to the QuotaMessageService mailbox which were created in the beginning of the article
- Copy the content of the quotamsg.pst (see Figure 8) which can be found in the Quota Message Service for Exchange installation directory(be aware the QuotaMessage folder should be copied to the Inbox and NOT a subfolder of the Inbox)
I won’t go through the specific steps necessary to create an Outlook profile and the procedure on how to copy the quotamsg.pst content to the Inbox folder in the mailbox, as that should be pretty obvious to all of you.
Figure 8: Copy the content of the QuotaMessages PST file to the inbox of QuotaMessageService mailbox
Doing a manual Quota run from ESM
When the Quota Message Service for Exchange is installed a quota maintenance option is added to the context menu of the Server object in the Exchange System Manager console, see Figure 9 below:
Figure 9: Doing a manual quota run from the Exchange System Manager
Executing a manual run resets the run interval so that the next run will occur at the completion time plus the scheduled run interval (default 24 hours.)
Customizing Quota Messages
Quota template messages are stored under a folder named QuotaMessages at the root of the mailbox. Each folder under QuotaMessages is named with the decimal value of a LCID (Locale Identifier.) In order to create localized quota messages, create a folder with the appropriate LCID (Locale Identifier) name and copy quota template messages to it. Customize these messages to change the text for a language. The parent messages for quota template messages have the subjects Warning, NoSend, and NoSendReceive. The embedded message in each of these is the quota template message which will be used to populate properties of the generate quota messages.
You can see a list of LCID’s values assigned by Microsoft here.
The body of the quota message template can contain references to insertion strings which will be replaced with information about a mailbox.
current mailbox size
size at which mailbox will receive warning messages
size at which the mailbox will no longer be able to send
size at which the mailbox can no longer send or receive
difference if any between warning threshold and current mailbox size
difference if any between send prohibited threshold and current mailbox size
difference if any between send and receive prohibited threshold and current mailbox size
You may want to disable the quota message mailbox, but bear in mind that SYSTEM must be granted full mailbox rights before doing so.
Modifying From: field on Quota Messages
A good idea is also to modify the From: field on the quota messages, this is accomplished the following way:
- Log onto the mailbox which you want to appear in the From field.
- Compose a new message.
- BCC the sender.
- Set the subject to the desired subject for the quota message template.
- Set the body to the desired body, using the inserts above to fill in mailbox details. Do not reference inserts other those documented above (if you do, the service may crash).
- Send the mail, and wait for it to be delivered,
- Embed the message as delivered in the appropriate quota message template.
- Restart the quota service.
For detailed information on the different Quota Message Service registry keys etc. created doing the installation, read the Quota Service Setup document which can be found in the installation folder.
With Quota Message Service for Exchange we’re getting very close to where we should have been years ago, the program of course can use some more polishing such as automatically create registry keys, a method for copying the Quota template messages to the mailbox etc. But the Quota Message Service for Exchange demonstrates that a similar program could be native in Exchange 12, but only time will tell whether the Exchange Development team will give this type of request high enough priority to make it in the next version of Exchange.
Exchange Quota Message Service: Workspace Home: