MailServe Snow—An Overview

Set up a fully buzzword-compliant mail server on Mac OS X Leopard that can:

  • Send outgoing mail (SMTP)
  • Receive incoming mail (SMTP)
  • Retrieve mail from an ISP mail server (Fetchmail)
  • Store all these mail on the server & and read them from any Mac Mail client (POP3 & IMAP, with a choice of UW/IMAP or Dovecot))
  • Organise mail into folders (UW/IMAP) & sub-folders (Dovecot IMAP)
  • Authenticate users before they are allowed to send mail through the server (SMTP-AUTH) or authenticate the server with an ISP server, using the latter as Smart Host to relay mail through it, in cases where the ISP has blocked all traffic through its network except through its designated server.

MailServe organises each of these tasks—from the simple to the complex—into discrete panels in its user interface. This allows the user to turn the mail services on one-by-one, and turn them off individually when they're not needed.

There's a reason for this organisation. It allows the user to fix problems—with their setup or their network—step-by-step and layer-by-layer, so even novice users can turn on a fully-powered mail server.

MailServe does a lot of complicated configuring of your server beneath its Mac-like user interface. It does this in a non-invasive manner, touching as little as possible of the original system files so as to leave your system in its pristine state. And you can remove all the files installed by the application, at one go, from the De-Install option in its Help menu.

But it does help if you try to run MailServe on a clean, newly-installed OS X Leopard machine, just so the application doesn't get derailed by any unexpected custom modifications already made to the system files. On a clean Leopard system, MailServe would just work, as we say, the Mac Way.

Installing a Mail Server on Snow Leopard—Step-by-Step Guide

Step 1—Send Mail to other Mail Servers

Mail servers talk to each other via SMTP. There's an SMTP server, Postfix, built into every Leopard machine. But it needs to be turned on.

So, start at this point—at MailServe's Outgoing panel—to turn on that SMTP server. Once it's on, you can use it to send mail to other mail servers, as well as from things like PHP scripts, running on your server.
[Details]

Step 2—Receive Mail from other Mail Servers

The Postfix SMTP server will also receive mail from other servers. But you need to first tell Postfix which domains to receive mail for.

You set this up using the Mail Server panel, which also allows you to set up Postfix so it will relay mail for other machines on your network, as well as for remote machines which authenticate.
[Details]

Step 3—Set up POP3 and/or IMAP Servers
Once Mail has been delivered to the Postfix server, you need to have a mechanism whereby mail clients like Mail, Entourage or Thunderbird can access the stored mail. This service is provided by POP3 and/or IMAP servers, not Postfix. IMAP servers have an additional functionality over POP3 servers—they allow the user to organise the messages into a folder structure. MailServe Snow offers the user a choice of installing either Dovecot or UW/IMAP for the POP3 and IMAP servers, but use of Dovecot is encouraged going forward.
Dovecot

MailServe Snow users would probably choose Dovecot because this allows the user to create IMAP sub-folders, nested any level deep, unlike UW/IMAP which only allows a single level of folders.

Dovecot also supports the POP3 protocol, plus the SSL variants (whereby the message steam is encrypted), over custom user-defined ports. [Details]

UW/IMAP

Prior to MailServe Pro, UW/IMAP was the only mechanism available for MailServe users.

MailServe's UW/IMAP implementation also had the limitation that the default ports for POP3 and IMAP cannot be changed.

MailServe Snow allows UW/IMAP to operate simultaneously along with Dovecot, so long as these two services use two different sets of port numbers.
[Details]

Step 4—Set up Fetchmail (Optional)

Fetchmail is useful for people who have many other POP or IMAP servers that they read mail from.

Fetchmail can be set up to check these other POP or IMAP servers periodically and download all that mail, consolidating them into one single mailbox on the local server.
[Details]

Step 4—Spam Filtering & Mail User Accounts Management

The Spam Panel includes controls for managing spam and setting up user accounts.

MailServe Snow uses procmail to integrate Postfix with Dovecot and SpamBayes to implement spam filtering.

The mail administrator can set up custom procmail directives to be processed before or after spam processing.
[Details]

Mail Log

The Mail Log Panel provides access to the Postfix Log, as well as to the Fetchmail Log.

They're useful for monitoring the health of the mail server.

If you Option-click the Postfix Log button, you can get a list of the currently active Postfix parameters.
[Details]

Mail Queue

Use this panel to monitor the mail queue.

The Get button retrieves information about messages in the mail queue.

You can flush the queue or choose a particular message to delete—useful for when there are messages stuck in the queue.
[Details]

Port Reference
Services Port
SMTP 25
POP3 110
POP3s (over SSL) 995
IMAP 143
IMAPs (over SSL) 993
For completeness, here is a
list of well-known ports
used by Apple.

The Outgoing Panel
The Mail Server Panel
The Dovecot Panel
The UW/IMAP Panel
The Fetchmail Panel
The Spam Panel
The Mail Log Panel

De-Installing MailServe

You can de-install MailServe by using the menu item, shown below, in the Help menu. It will shut down any mail-related service that is still running, and remove all files installed by MailServe.

MailServe works from its own folder in /usr/local/cutedge/postfix, in which are stuffed the main.cf, master.cf and other files used by Postfix. The original Postfix files in /etc/postfix are left un-touched and so MailServe leaves your system in its original state after de-installation.

MailServe Snow includes new binaries and config files that are specific to Snow Leopard. You can do a de-install to clear the files left over from the previous Leopard versions of MailServe, if you have saved the configuration using the File menu. When you read back the configuration and Start Postfix, you will get all the new binaries loaded for use with Snow Leopard.

The Help menu also contains links to the MailServe for Snow Leopard web page and it can be used to check that web site for new versions.