WTF?
What is this?
This is a public record of websites that reject perfectly valid email addresses.
Email addresses with a + in them (like name+site@example.com) are completely valid per RFC 5321. The + trick (plus addressing / sub-addressing) is supported by Gmail, Outlook, Fastmail, Proton Mail, and basically every major email provider.
Yet countless websites reject these addresses because some developer copy-pasted a broken regex from Stack Overflow in 2009 and nobody ever fixed it.
Think + is exotic? These are all valid too
All of the following are perfectly valid email addresses per RFC 5321/5322:
Abc\@def@example.comFred\ Bloggs@example.comJoe.\\Blow@example.com"Abc@def"@example.com"Fred Bloggs"@example.comcustomer/department=shipping@example.com$A12345@example.com!def!xyz%abc@example.com_somename@example.com
Good luck writing a regex that handles all of these correctly. Or just don’t.
How does email validation actually work?
In the browser: Use <input type="email">. Browser vendors actually read the RFCs and didn’t mess this up. You get validation for free — do not override it with your own regex. Bonus: mobile devices will show the @ keyboard layout, which is what you should be doing anyway.
On the server/API: Check that it contains an @. That’s it. Done.
To actually verify it: Send a confirmation email. If it arrives, the address is valid. No regex in the world can tell you that.
Everything else is guesswork that will reject valid addresses.
How do sites end up here?
When we encounter a site that rejects a valid + email address, we:
- Take a screenshot of the error
- Add it to the Wall of Shame
- Send the site admin a friendly email explaining the issue
How do sites get off the list?
We provide each site with a link to let us know they’ve fixed the issue. Once we verify the fix, the site moves from the Wall of Shame to The Redeemed — ranked by how quickly they fixed it.
I run a site on this list
Great news: fixing this is usually a one-line change. Stop using a regex to validate email addresses. Just check for an @ and send a confirmation email. Then let us know through the link we sent you.