To be able to store the e-mail for your users you have to setup a location that will be used on your servers harddisk. A very common location is ‘/usr/local/virtual‘, but you can put it anywhere you want. Keep in mind that if you use a different location that you need to change this location in the configuration files that we’ll create later on. This is for Tiger only, for the Leopard method look here.
For lots of reasons that go beyond these instructions (security is the largest of them) we need to create a new user called ‘vmail’ on your server, this user account will be used by all programs to access the virtual mail folders. The user has no password or user directory.
sudo niutil -createprop / /users/vmail uid 102
sudo niutil -createprop / /users/vmail gid 102
sudo niutil -createprop / /users/vmail shell “/usr/bin/false”
sudo niutil -createprop / /users/vmail home “/var/empty”
sudo niutil -createprop / /users/vmail passwd “*”
If you are installing for the first time the directory isn’t there yet. You need to create it and setup the correct permissions. So login to a Terminal session of your server and execute the following commands or use the shell script provided at the bottom of this page.
First create the required directory:
Change the owner and group of the directory to be vmail so that the postfix program can read and write into that directory:
and setup the correct permissions
Next step: Configuring SASL for SMTP authentication



11:03 pm
Instead of using niutil (OS X Server only) or dscl, one can use System Preferences.
Add a new user, name and short name “vmail” with no password (ignore warning).
Right-click the new user, choose “Advanced Options…”
put in User and Group ID of 102
Login Shell “/usr/bin/false”
Home Directory “/var/empty”
Click ok, ignore warning.
9:53 am
This is very usefull is you aren’t comfortable using the terminal. The drawback is that a user directory gets created in /Users/vmail and you have to manually deleted it.
6:58 pm
In Tiger you can also use the NetInfo Manager. Just duplicate cyrusimap user and then change the needed values.