From CSCWiki
Revision as of 23:47, 11 May 2010 by Mspang (talk | contribs)
Jump to navigation Jump to search

Mail services are currently handled by caffeine.

Reading your mail

You can use any user agent that supports maildir locally (mutt, alpine, etc), and any client that supports POP3 or IMAP either locally or remotely. We also have webmail.

Here are the details:

  • maildir
    • Location: $HOME/.maildir/
  • POP3
    • Hostname:
    • SSL encryption required
    • Port: 995
  • IMAP
    • Hostname:
    • SSL encryption required
    • Port: 993
  • SMTP
    • Hostname:
    • SSL encryption and authentication required
    • Port: 25, 465, or 587

Technical Details

Mail Transfer (Incoming)

Postfix is our MTA and runs on caffeine. Incoming mail is received inbound on smtp/25 or ssmtp/465 and goes through a sequence of filters before being delivered to users.

We are using the following filters for incoming mail, to combat spam and malware:

  • ClamAV via ClamSMTP
  • RBL
  • Greylisting with postgrey

The latter two reject truckloads of spam, preventing them from reaching your inbox. The former helps keep us from passing malware along. Greylisting adds a delay to mail delivery from unknown servers, but after a small number of successes they will be auto-whitelisted. If that isn't good enough, ask to whitelist all mail to your address.

Mail Delivery

User mail is delivered, by default, to procmail. This is configurable by adding a comma-separated list of destinations in $HOME/.forward. See aliases(5) for more details.

Procmail, in turn, writes mail to $HOME/.maildir unless instructed otherwise. You can customize procmail by editing $HOME/.procmailrc. See procmailrc(5) for more details.


If you are out of quota or another error occurs writing to your home directory, procmail will deliver your message to /var/mail/$USER on the mail server. If that too fails, caffeine is probably on fire. The message will be returned to the queue where it will eventually bounce.

Mail Retrieval

We run Dovecot, a POP3 and IMAP server. It reads messages from $HOME/.maildir, so if you have procmail deliver your mail elsewhere you will be unable to retrieve your mail using POP3 or IMAP.

Mail Submission (Outgoing)

On caffeine, outgoing mail is submitted directly to Postfix via the sendmail(1) wrapper or on submission/587. Submitted mail is then queued for delivery to its destination. The other systems have no MTA and instead run sSMTP, which relays mail through caffeine immediately without any queue or daemon.