Difference between revisions of "Mail"

From CSCWiki
Jump to navigation Jump to search
(Webmail no longer works, added introduction)
m (added to Software category)
Line 58: Line 58:
   
 
Any system that needs to relay mail through caffeine must be added to /etc/hosts (this includes all systems running sSMTP). A cron job on caffeine makes a hash table out of /etc/hosts, and any address present in the table will be able to relay mail.
 
Any system that needs to relay mail through caffeine must be added to /etc/hosts (this includes all systems running sSMTP). A cron job on caffeine makes a hash table out of /etc/hosts, and any address present in the table will be able to relay mail.
  +
  +
[[Category:Software]]

Revision as of 11:59, 16 January 2010

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: caffeine.csclub.uwaterloo.ca
    • SSL encryption required
    • Port: 995
  • IMAP
    • Hostname: caffeine.csclub.uwaterloo.ca
    • SSL encryption required
    • Port: 993
  • SMTP
    • Hostname: caffeine.csclub.uwaterloo.ca
    • 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
  • zen.spamhaus.org 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 systems-committee@csclub.uwaterloo.ca 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.

Failures

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.

Any system that needs to relay mail through caffeine must be added to /etc/hosts (this includes all systems running sSMTP). A cron job on caffeine makes a hash table out of /etc/hosts, and any address present in the table will be able to relay mail.