I started the final part of migrating to the new OpenSolaris server today: Moving the internal IMAP server.
This server exists to collect email that is sent to my old address, T's old Hotmail emails (slurped down using a Thunderbird webmail extension and imported into IMAP), as well as act as an archive of all my old email dating back a number of years.
The new mail server will be a Solaris zone called "mailserver" on the OpenSolaris host. I built the zone and installed Fetchmail (to collect mail from my ISP using POP3), Procmail (to filter the email into the correct mailboxes) and Courier IMAP (to serve the email internally over IMAP).
Once I got Courier IMAP installed, and the config file copied across, I hit a problem:
Dec 24 19:19:32 mailserver imapd: [ID 702911 mail.error] Error: I/O error
Dec 24 19:19:32 mailserver imapd: [ID 702911 mail.error] Check for proper operation and configuration
Dec 24 19:19:32 mailserver imapd: [ID 702911 mail.error] of the File Access Monitor daemon (famd).
Hmm, so I need to install FAM. I did the install, but this still didn't work. Turns out that the FAM package doesn't make the necessary additions to /etc/rpc (FAM is controlled by rpcbind) and /etc/inetd.conf.
For reference, this is what needs to go in /etc/rpc:
And this is what needs to go in /etc/inetd.conf:
sgi_fam/1-2 stream rpc/tcp wait root /opt/csw/bin/fam fam
To register the inetd config, the inetconv command needs to be run at which point, starting Courier IMAP works and the above error has gone.