RFC 5322 does say that a `+` is a valid character in the local part of an e-mail address.
The `+` character being used for address aliasing is, as far as I can tell, not mentioned in RFC 5321 or RFC 5322
There's no + aliasing in the specs. There's no interpretation defined for local part of email address.
I'd be surprised if many harvesters are going to bother with rules just for Fastmail domains. First of all, they have a bunch of them. Second, the spammers' objective is to get email into your mailbox. They don't care if they use an alias to get there. Bad actors who got your info in a data breach are a different story, but there's probably some safety in numbers. There could potentially be millions of accounts to go after before they start thinking about reversing my Fastmail alias. Besides, if you use one of the generic ones like qq.com or eml.cc - or even better yet, your own domain - they're not likely to notice anyway.
You want something that is sufficiently random that it can't be easily guessed or gamed, but can be quickly and easily determined on your side.
Salted cryptographic hashes might be a good place to start.
So the fact that the MTA will route it is irrelevant if it never makes it to the MTA in the first place.
+ as a magic character to effect routing isn't part of the standard. Mail servers are free to route addresses to mailboxes in whatever manner they see fit. That + can appear as a character in an address is part of the standard, just not the behavior of it; a server that treats a+1@ and a+2@ as distinct emails is conforming, and from a sending side, you cannot know if a+1@ and a+2@ will end up in the same mailbox.
(But you're absolutely right that too many sites fail to parse email addresses. Or rather, they over-parse.)
I believe this was part of the email standard?
But yes, that's why Fastmail supports the alternative syntax.
Reach out to support.
You can also do something similar with Gmail (and probably other providers) using "+" in your username, e.g. "[email protected]". This creates a unique email address that delivers to your Gmail account as if the "+<whatever>" were absent. This is more easily defeated if you're a moderately motivated spammer.
<[email protected]>
<[email protected]>
Here, ‘-’ is the segment character, <[email protected]> is the actual delivery address, and <[email protected]> triggers an immediate block.This doesn't work. I've seen legitimate companies just strip everything from the + onwards.
You'd have a better luck with *@user.your.domain if you can give each user a unique domain.
I bought a single domain @MyEmail.org, and create a new user for each site I sign up with that forwards to my gmail.
[email protected], [email protected], [email protected] etc...
[email protected] [email protected]
(Instead of [email protected])
[email protected] [email protected]
and so on. So, those services have no way of fooling you by tampering with the alias parts.
But of course this isn't easy unless you roll your own mail server.
[email protected] [email protected] [email protected]
all go to [email protected]
You can run your own email server (or have a company host a private domain for you), set up a catch-all address that only you know, then use a different email address for every site you sign up to. That way you can find out this sort of information.
Using this technique, I know for example that spammers obtained the address I signed up to Stack Overflow with. The email is not shown on my profile now, and I can't rule out that it wasn't ever shown publicly, but evidence suggests they sold my address to spammers. I also know that spammers crawled my website and found a blog post where I stupidly made up a random address using my domain as part of an example for configuring junk filters (the irony is not lost on me).