intertwingly

It’s just data

Mail Milestone


Continuing my explorations that started last year at this time.  My goal is to continue to self host my mail archive, while adding allow concurrent access and offline replication on a number of machines.

Following are the components I have installed and configured, with notes of issues I have encountered and resolved along the way.  Everything below is based on Ubuntu 10.04.1 LTS.

Dovecot

Dovecot was not happy with the postmaster listed. Fix was to ensure that the postmaster specified in etc/dovecot/conf.d/01-dovecot-postfix.conf has localhost as the hostname.

user postfix needs to have read access to the SSL pem and key files.  Placed them (mod 0400 owner=dovecot) in /etc/dovecot

Useful command for debugging:

sudo -u dovecot dovecot -a

Postfix

Enabled smtps by uncommenting three lines in /etc/postfix/master.cf

smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes

Fetchmail

Add the following to .fetchmailrc:

mda /usr/bin/procmail

Very useful .fetchmailrc keywords for initial testing: uidl and keep

ProcMail

Procmail was not happy with the IPv6 entry for localhost; deleted it from /etc/hosts

Example procmail recipe:

DELIVER="/usr/lib/dovecot/deliver"
:0 w
| $DELIVER

Thunderbird

A number of usability issues, examples:

Worhtwhile add-on: Custom Buttons

Example button:

var file = Components.classes["@mozilla.org/file/local;1"]
          .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath('/usr/bin/ssh');

// create an nsIProcess
var process = Components.classes["@mozilla.org/process/util;1"]
          .createInstance(Components.interfaces.nsIProcess);
process.init(file);

// Run the process.
// If first param is true, calling thread will be blocked until
// called process terminates.
// Params are used to pass command-line arguments
// to the process
// process.run(block, args, args.length);
process.run(false, ['rubix', 'fetchmail'], 2);

For best results, use an 32x32 icon with a transparent background

SpamAssassin

Edit /etd/default/spamassassin:

ENABLED=1

Edit /etc/spamassassin/local.cf:

report_safe 0

Procmail recipe:

# SpamAssassin
:0fw: spamassassin.lock
* < 256000
| spamassassin
:0
* ^X-Spam-Status: Yes
| $DELIVER -m Spam