this is a decidedly tech post so for everyone looking for pictures of the kids, i urge you, in the words of cosmo kramer: “look away!”

we recently installed the Intelligent Message Filter that Microsoft provides with Exchange 2003. for the most part it works very well, but the one problem i’ve run into fairly consistently is the fact that there is no email whitelist, only IP based whitelists. so after a few requests from various corner office-type executives to hunt through the mounds and mounds of filtered email to find the grocery list that was emailed to them and lost, i embarked on a quest to find or write a whitelist.

a quick aside, i’ve found the IMFcompanion by PQR Services to be the best tool for finding lost emails and managing all the spam. and the price is right.

a quick search led me down most of the path and i just had to fill in some of the specific pieces i wanted. here is the original post i found over at msexchange.org, with all credit to the original poster.

basically what we are going to do is add the whitelist emails to the sender filter and move those emails via a batch script to the PickUp folder for delivery, thus circumventing the IMF because the sender filter works before the mail gets parsed by the IMF.

obviously, be careful if you are working in a production environment; but here’s how i did it:

in Exchange System Manager navigate to Global Setting -> Message Delivery and select Properties
click the Sender Filtering Box
click add and enter the email you want to whitelist
check the Archive filtered messages and Accept message without notifying sender of filtering
click Apply, a warning box will appear, click ok and the ok again on the properties box.
at this point all the emails now listed in the sender filter will go into the Filter directory, which by default is in: C:\Program Files\Exchsrvr\Mailroot\vsi 1\Filter\ but your path my vary. now we have to move the files from the Filter directory to the PickUp directory so that the end user will actually get the mail. here is the batch script I use to effect that outcome (all on a single line):

move “C:\Program Files\Exchsrvr\Mailroot\vsi 1\Filter\*.tmp” “C:\Program Files\Exchsrvr\Mailroot\vsi 1\PickUp”

after that just setup a scheduled task to run the batch file how ever often you want it to run (i went with every ten minutes) and your whitelist is in place.

caveats: if you are already using the sender filter for other types of filtering this obviously will not work.