Automatically creating IMAP folders for new users

I recently had a request to automatically create one or more IMAP folders for all new users, and subscribe to them automatically.

I was originally hoping to implement it entirely in the content filter, but it was a bit more complex then I’d hoped.

Right now my script assumes that MDaemon is installed at C:\MDaemon\ and user folders are C:\MDaemon\Users\$DOMAIN$\$MAILBOX$\ if this is not correct, you will need to modify the batch file and content filter rules to update the paths, or post back here and I can send an updated version.

Download newuser-imap-folders which contains three files, cfrules.txt, newuser.cmd and newuser.mrk.

  1. Make a directory called C:\MDaemon\Scripts
  2. Copy the “newuser.cmd” and “newuser.mrk” files into this directory.
  3. Open cfrules.dat in notepad, copy the contents into the clipboard.
  4. Open \MDaemon\App\cfrules.dat in notepad, paste the content of my cfrules.txt into the top of cfrules.dat, save cfrules.dat and close it.
  5. Go to MDaemon, open the content filter, you should see a new rule called “Trap Welcome Message” — Enable it.

At this point any newly created user should have three folders, “Test1”, “Test2” and “Test3” created, and they should be automatically subscribed to these folders.

Changing the list of folders requires editing the two newuser files.

In newuser.cmd, there are three lines at the bottom that look like this:

MD C:\MDaemon\Users\%2\%1\Test1.IMAP

You can add as many of these lines as you want, just replace the “Test1” with the name of the folder you want to create.

If you want to use a foldername with spaces, use this instead:

MD “C:\MDaemon\Users\%2\%1\Test 1.IMAP”

You’ll also need to edit newuser.mrk, there are three lines at the bottom that look like this:

Test1=Yes

This file controls the IMAP subscriptions for the user, so if you want the created folders to be automatically subscribed, list the folders here.  No quotes are required for a folder name with spaces here.

Hopefully this all makes sense and you don’t have any troubles, but if you do, please reply back in the comments and I’d be happy to assist.

UPDATE (2008/08/20): ZIP file was not properly linked/attached the first time around, re-uploaded to the server and updated the page.

Download at newuser-imap-folders

Pruning “Trash” and “Spam” folders automatically

The accountpruner is a powerful tool, but it’s not always the easiest gizmo to figure out. With that in mind, here are some rules from my \MDaemon\App\midnight.bat file that might be useful.

c:\MDaemon\App\AccountPrune.exe /m /d=28 /p=”Spam.IMAP”
c:\MDaemon\App\AccountPrune.exe /m /d=28 /p=”Junk Mail.IMAP”
c:\MDaemon\App\AccountPrune.exe /m /d=28 /p=”Junk E-mail.IMAP”
c:\MDaemon\App\AccountPrune.exe /m /d=2 /p=”Trash.IMAP”
c:\MDaemon\App\AccountPrune.exe /m /d=2 /p=”Deleted Items.IMAP”
c:\MDaemon\App\AccountPrune.exe /m /d=2 /p=”Deleted Messages.IMAP”

The result is that at midnight each night, MDaemon’s accountpruner will go through each user’s mailbox, and in each of the “Spam”, “Junk Mail” and “Junk E-Mail” folders, delete all messages over 28 days old.

In the “Trash”, “Deleted Items” and “Deleted Messages” folders, messages over 2 days old will be deleted.  Combine this with the accountpruner’s own options to delete IMAP mail flagged as deleted, and you’ll have a solution that works for users of all mail clients, whether the mail client uses a dedicated “Trash” folder, uses IMAP deleted flag, or both.