This extension provides an easy way to turn Cloudflare Email Routing into your own private email alias service, similar to AnonAddy, SimpleLogin, and others. No third-party services or tedious configuration of a self-hosted email server needed.
- Create / edit / delete aliases, edit / delete aliases in bulk
- Multiple formats for alias addresses (random characters, random words, custom), optionally prefixed with current website name
- Search aliases and their descriptions
Potential future features:
- Create / delete destination addresses
- One-Click alias generation directly inside email input fields
- Advanced login options, manually providing account ID and zone IDs to further limit the API token permissions
- Web version of the extension that can be used on any device, including offline support
- Email Reply worker (see below)
- Download the latest version for your browser from the releases section
- Firefox
- When clicking on the file, Firefox will automatically ask if you want to install the extension
- Alternatively: right-click on the file, Save target as, drag-and-drop the downloaded file into Firefox
- Chrome and other Chromium browser:
- Go to the browsers extension page, usually under chrome://extensions
- Drag-and-drop the downloaded file into the list of extensions
See this page:
- "Email Routing does not forward non-delivery reports to the original sender. This means the sender will not receive a notification indicating that the email did not reach the intended destination."
- "Email Routing does not support sending or replying from your Cloudflare domain."
- "Subdomains cannot use Email Routing to forward emails, unless they are part of an Enterprise account."
Additionally, there is a limit of 200 email rules (aliases) and 200 destination addresses per domain.
- Create a Cloudflare account, add the domain(s) you want to use and enable Email Routing for the domain(s)
- Go to this page
- Click "Create Token"
- Select "Create Custom Token"
- Choose a name, like "Email Extension"
- Configure the following permissions (explained in the next section):
- Account | Email Routing Addresses | Read
- Zone | Email Routing Rules | Edit
- Zone | Zone | Read
- Set "Account Resources" to your account
- Set "Zone Resources" to "All zones" or select the zone you want to use
- Configure "Client IP Address Filtering" and "TTL" if you want to
- Click "Continue to summary" and then "Create token"
- Copy the generated API key
Your API key is stored locally in your browser and is used to directly communicate with the Cloudflare API.
- Account | Email Routing Addresses | Read - Listing of destination email addresses
- Zone | Email Routing Rules | Edit - Listing, creating, editing and deleting of email rules (aliases)
- Zone | Zone | Read - Listing of all the zones in your Cloudflare account (or the zone you select in the "Zone Resources" section)
- Install NodeJS (the automated build workflow uses NodeJS version 18) and yarn (with
npm install -g yarn
) - Clone the repository:
git clone https://github.com/curetix/mailflare-extension
- Install the dependencies:
yarn install
- Run the build command:
yarn build
(for Chromium / Manifest V3),yarn build:firefox
(for Firefox / Manifest V2) - The output will be in the folder
build/chrome-mv3-prod
orbuild/firefox-mv2-prod
Loading the extension:
- Chrome
- Go to Settings -> Extensions
- Enable the Developer mode toggle (top right)
- Click Load unpacked and select the folder of the built extension
- Firefox
- Enter
about:debugging
into the address bar - Click This Firefox
- Click Load Temporary Add-On...
- Navigate to the folder of the built extension and select the
manifest.json
file - (This will have to be repeated every time Firefox launches)
- Enter
This is a purely an idea at the moment, it has not been tested!
Email alias services like SimpleLogin and AnonAddy allow their users to reply to emails received from their alias addresses while keeping the users main email private. Here is a nice explanation on how this works.
While this is not possible directly with Cloudflare Email Routing, we can combine a catch-all address, an Email Worker, and an external API service like Mailjet for sending emails to achieve something similar like this.
Let's say you have the alias [email protected] for your private address [email protected]. You receive an email from [email protected] and want to reply using your alias address. Instead of replying directly to [email protected], you would use the address john+alice=[email protected]. Since you do not have a rule matching this configured, it is processed by a catch-all Email Worker. It parses the address into sender and receiver ([email protected] and [email protected]), checks if [email protected] is actually an alias, and forwards the email using an external API like Mailjet (which of course has to be configured for the domain doe.net). Finally, [email protected] will receive a reply to her email from [email protected] instead of your private email address [email protected].