I kind of have Google setup this way, but it's a friggin pain (and not really advised) to keep adding address aliases, or having to fight to +alias stuff. So it doesn't quite work.
I kind of have Google setup this way, but it's a friggin pain (and not really advised) to keep adding address aliases, or having to fight to +alias stuff. So it doesn't quite work.
https://www.fastmail.help/hc/en-us/articles/360060591053-Plu...
Support helped a lot when I tried to set this up. They initially said it wasn't possible, then came back a while later with a correction.
It takes a bit of time to set everything up the way you want at first, but Fastmail supports custom sieve scripts. With wildcards in sieve, you can automatically create and apply labels to these kinds of per-account addresses without naming them all in advance. You can add specific ones to get additional labels like Shopping or Travel too.
Fastmail’s catch-all implementation doesn’t force you to manually create the named alias in order to send either, i.e., on the rare occasion you need to reply from an account email address, the from address uses the address it was sent to. This feature only works on Fastmail’s apps or the website, not with 3rd party clients. I still use Apple Mail most of the time, but can easily switch to the app real quick when I have to reply from a catch-all address. Regular named aliases can be created and added to Apple Mail without issue though.
Pretty much every other option I looked into supported catch-all aliases too, but required you to manually setup the alias before you could send from it. That’s such a pain in the ass.
Here is my script:
require ["fileinto","imap4flags","variables","regex","mailbox"];
## A catch all filter designed to automatically organise emails sent to a catch-all address into a folder based on the receiving address e.g amazon@example.com --> INBOX.Amazon ## If the folder doesn't exist it is automatically created
if exists "X-Delivered-To" { if header :regex "X-Delivered-To" "([^@]+)" { set :upperfirst "prefix" "${1}"; fileinto :create "INBOX.${prefix}"; stop; } }