DEV Community

David Mohl
David Mohl

Posted on • Edited on • Originally published at david.coffee

3 1

Creating Fastmail Masked Emails without 1Password anytime and everywhere

Mirrored from my blog - https://david.coffee/creating-fastmail-masked-emails-without-1password-anytime-and-everywhere

I love Masked Emails, Fastmails take on one-time-use email addresses. I've been doing something similar myself for years now, but it is a bit of a shame that it's so tightly coupled to 1Password. Sure you can create them through the webinterface now, but it's still kind of a pain to use and not very convenient (unless you use 1Password).

You can't even manually trigger creation of one within 1Password, so when the extension doesn't detect an email signup field, you're sorta out of luck.

What I want is something like this:

showcase

Let's get it working.

The first thing I noticed is that the request to create a new masked email (through 1Password) isn't actually coming from the 1Password servers like I first thought, it goes directly from the client to api.fastmail.com, like seen on a reverse-proxy like Proxyman:

Network screenshot

By the way, Fastmail also stated they put this functionality right into their open-source JMAP project in a blogpost.

After a bit of reverse-engineering the request format to the API server and replicating it in Golang:

Requests

I present you: https://github.com/dvcrn/maskedemail-cli

maskedemail-cli -accountid xxxx -token abcdef12345 create facebook.com
Enter fullscreen mode Exit fullscreen mode

... and you get a new masked email for facebook.com, right in your shell!

Glueing the CLI to shortcuts with KeyboardMaestro

I wanted this to be available everywhere whenever I need to. A full extension for a product that isn't mine would have been too much work, and I wanted it to work outside browsers as well. With something like KeyboardMaestro this is trivial to do

Here's the macro from above:

KeyboardMaestro Macro

  1. Insert "..."
  2. Retrieve the URL from the current browser window. I had to use some glue applescript here because Firefox has no scripting interface
  3. Pipe it into the maskedemail-cli
  4. Remove the "..." and paste the newly created email

Other thoughts

I am sure this will become more available in the near future. Fastmail likely has some kind of exclusivity thing with 1Password for now, but it's great to see that we can hack ontop of it so easily. It's also very cool that this is built right into JMAP. I hope we'll see more email providers implementing it!

PS - I just wanted an excuse to write something on dev.to

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more