Setting up a simple email active relay

Problem: I use gmail as my primary email client (sue me). I have several email addresses and I use “Check mail from other accounts” and POP3 to fetch external email into gmail. Everything’s all in one place so I don’t have to go checking 20 different email accounts all day long (annoying). So! At my current (nameless) employer I set this up and it worked just fine, but then I got snippy email from IT about how I shouldn’t do this because “security”. Apparently they have POP enabled? But you shouldn’t use it? And they monitor it? Ok….

Solution: Set up an active relay to poll and fetch email using the ‘authorized’ method and forward to gmail. Again I’ll use my always-on DigitalOcean droplet at to run a very simple daemon process to accomplish this. I’m going to use fetchmail to check my external account, and then procmail to forward any emails it finds. First I edit the ~/.fetchmailrc:

#### .fetchmailrc

 # Run fetchmail as a background process and poll every 300 seconds
 set daemon 300
 # Where to write logging, you should clean this up every once in a while.
 set logfile /home/isaac/tmp/fetchmail.log

 # Should be obvious
 poll proto POP3 uidl
  user "overcast" pass "xxxxxxx"
  # Don't delete seen messages from server 
  # Don't rewrite the headers
  no rewrite
  # What to do with new mail -> make procmail deal with it
  mda "/usr/bin/procmail -f %F -d %T";

and ~/.procmailrc (essentially tell procmail to forward everything it sees):


Run fetchmail and you’re done. If the droplet goes down I have to remember to restart this, so I add a line to /etc/rc.local (Ubuntu):

su isaac -c 'fetchmail'

Who knows if it works, because I don’t want to cycle my box to test it. But it should work ;p.