Today we rolled out a number of enhancements to FastMail which we have been working on for some time. The biggest change is a revamp of the settings to make them easier, faster and more intuitive to manage, while keeping the power which FastMail is known for. There are also improvements to our translations, rich-text compose, message rendering and managing shared contacts.

Settings revamp

Over the last few years we've been migrating FastMail from a classic web application made of HTML pages to a modern, JavaScript based interface that uses an API to talk directly to our servers. We initially transitioned the most frequently used screens to this style some time ago (e.g. mailbox listing, reading messages, compose etc.) and over time have been moving more and more.

As we've made this transition, we've also been doing a lot of cleaning up on the way. This means making our interface faster, neater and easier for people to understand and use. We've been making internal changes too, such as ensuring all screens can be easily translated into different languages and making sure the underlying code that drives them is more maintainable.

One area that was lacking in this regard was the settings screens. We had converted a number of basic settings, but in many cases you still had to fall back to the old HTML interface to make changes to advanced options, resulting in two different settings screens for many of the same things (e.g. personalities, POP links, rules, etc.), which was particularly confusing.

As of today, the majority of these (which used to be found via the "Advanced" link) have been replaced with new versions (found under the normal "Settings" link). We've done a complete overhaul to convert them to the new style and bring the user experience up to the standard of the rest of our modern interface.

As well as being faster and easier to use, the new screens are also fully translated into French, German, Spanish, Dutch and Russian, and are fully accessible on mobile. You can now configure rules, preferences, vacation response and more directly from our mobile app or web UI.

We believe these new settings screens are a big step forward for FastMail usability. The remaining few screens still found via "Advanced" or "Manage" (business/family accounts only) will be replaced in the coming months so we can finally remove this confusing split in the settings.

A note for users of our old "classic" interface: Due to backend changes that mean the old screens are no longer compatible, we have had to remove access in classic to the Domains, Aliases, Custom DNS, Distribution Lists and Rules settings screens. Please log in at to modify these settings.

New rules features

While the functionality of most settings remains unaltered from before, mail filtering rules have been given a significant power boost. Using our new rules interface you can now specify multiple criteria for a rule, and pick whether "any", "all" or "none" of the criteria have to match the incoming message for the rule to apply. The range of criteria available has also been expanded and their meaning made clearer than before.

All existing rules have been converted to the new system, and behave exactly as they did before.

We've also improved the situation for our advanced users of custom sieve scripts. Previously this was an all or nothing affair: once you started using custom sieve you could no longer use the normal rules interface. This also removed the ability to use our standard interface for configuring a vacation response, or spam filtering, along with several other features that rely on generating part of your sieve script "under the hood".

With the new system, your sieve code is now included in addition to the generated code from other features, and you can easily see how it all fits together. Again, we've made the transition such that everything now behaves as before: your previous custom sieve script is still active and unchanged and any interface-generated rules have been disabled (you'll see them commented out in the sieve script).

Changes to distribution lists

For a while we've had the ability for aliases to target a contact group, so you could more easily manage who should receive copies of messages sent to this alias. We called this concept "distribution lists". This functionality has now been merged into standard aliases, since the name made it seem like this feature was for mailing lists, when it lacks most of the functionality one would need for a true mailing list.

Other enhancements

A number of other small improvements were rolled out today, including:

  • When your vacation response is active, we now display a banner to remind you on the message read screen. No more forgetting to disable it!
  • We now support setting a default font, font size, and colour for rich text messages. You can set this on the Settings -> Mail Preferences screen.
  • We've added a "Remove formatting" button to the rich text editor toolbar, to help you clean up copy-pasted and quoted HTML.
  • We now detect and collapse top-posting without quoting in plain text messages.
  • The Address Book now has sidebar options to show all contacts with "No group", or all shared or not shared contacts (only applicable to business/family accounts). We've also made it easy to bulk move contacts into or out of the shared address book.
  • If you sync calendars from external sources, we now group these in the calendar list.
  • OAuth support for sending and retrieving email via Gmail accounts.
  • Various minor bug fixes.