This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.

Small, simple setup.

Requires Xcode to build from source, Darwin Ports isn't required.

NetInfo needs to contain a dovecot user, although it apparently is created automatically by release candidates of Dovecot. To create the dovecot user, use Applications/Utilities/NetInfo Manager and in the users section, duplicate one of the existing users (I chose to copy cyrusimap, but any daemon should be fine). You can also add the user from the commandline like this:

sudo niutil -create / /users/dovecot
sudo niutil -createprop / /users/dovecot uid 300
sudo niutil -createprop / /users/dovecot name dovecot
sudo niutil -createprop / /users/dovecot passwd '*'
sudo niutil -createprop / /users/dovecot _writers_passwd dovecot
sudo niutil -createprop / /users/dovecot shell /usr/bin/false
sudo niutil -createprop / /users/dovecot expire 0
sudo niutil -createprop / /users/dovecot change 0

Use pam for authentication. Create the file /etc/pam.d/dovecot as follows (you can copy over the file 'login' in the same directory):

# dovecot: auth account password session
auth       required       pam_nologin.so
auth       sufficient     pam_securityserver.so
auth       sufficient     pam_unix.so
auth       required       pam_deny.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_uwtmp.so

Use launchd to start the server at boot time. Create /Library/LaunchDaemons/dovecot.plist as follows:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.dovecot</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/sbin/dovecot</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

To start the server without rebooting, sudo launchctl load /Library/LaunchDaemons/dovecot.plist

To fix the access problem to /var/mail, you may need to set mail_privileged_group = mail  in dovecot.conf, as described in MailLocation/Mbox.

Enabling SSL worked as described and didn't require anything different on OS X.

DovecotServerInstallations/MacOSX/10.4.6/2Users (last edited 2009-03-15 22:35:21 by localhost)