Fastmail in Fluid.app

I’ve spent the last few months bouncing around OSX mail clients. I went from Mail.app to Airmail, to a Mailmate trial, back to Airmail and then back to Mail.app. Now, however, I’ve finally settled on a mail client: Fastmail’s web interface in a Fluid instance.

I’ve gone with the Fastmail web app for one simple reason: I wanted every mail client I tried to essentially be a native version of their web app. I would find myself working in Fastmail’s web app rather than any given mail client I was trying out without even thinking about it. I would be viewing something in Safari and then jump to the web app — rather than a mail client — without even thinking about it.

Running Fastmail in a Fluid instance did, however, require a bit of setup. First, I set my newly created Fastmail.app up as my default mail client. Next, I modified the default Gmail URL handler created with the new Fluid instance to open mailto: links in Fastmail as follows:

function transform(inURLString) {
inURLString = inURLString.replace('mailto:', '');
inURLString = inURLString.replace('&', '&');

var argStr = '';
var splits = inURLString.split('?');

var emailAddr = null;
var args = {};
if (splits.length > 0) emailAddr = splits[0];
if (splits.length > 1) argStr = splits[1];

var outURLString = 'https://www.fastmail.com/mail/compose:to=' + emailAddr;

if (argStr.length > 0) outURLString += '&' + argStr;
return outURLString;
}

Add this URL handler by going to the Fluid app’s preferences, URL handlers and name the handler Fastmail with the pattern mailto:*

Configuring the dock counter for the Fluid instance is also fairly straightforward and James Wilcox has a great writeup on setting that up.

Are you currently using Fastmail in a Fluid instance? Or do you have a particular web client you prefer? I’m currently pretty happy with this setup and already have a few other ideas for URL handlers and scripts I plan on trying out.

If you don’t use Fastmail, I would highly recommend it and you can sign up for it here.

Edit (10.29.2014): Updated the script to reflect Fastmail’s new TLD (.com as opposed to .fm that they previously used; thanks to Keith Bradnam for the heads up.

Edit (1.29.2017): Updated the compose URL to reflect Fastmail’s new compose routing. Thanks Fred Barker!