> I've found that users really are idiots
> when it comes to typing that in.
They're not idiots. It is normal for people not to work at the level of precision that this sort of thing requires. Decades of work on these sorts of things have shown me that it is computer programmers who are not normal. The ability to get thousands, even millions of characters exactly right is extremely unusual, even with extended training.Some people just can't do it, and user interfaces that expect them to will lead repeatedly to unsustainable levels of error.
Your anecdote only serves to support this. You can't assume that 10% of the people are genuinely idiots. They are real people with skill sets that don't match yours.
Postal mail addressing doesn't permit any sort of feedback loop. The "user" has no indication at mailing time of any problems with the address. So it's no surprise that errors are common.
If you want email addresses to be correct, then you need that feedback loop, which means email verification.
If I get the post code wrong but the rest of the address right, the letter will get through. If I make a typo in the name or address, the letter will get through.
If I make even the tiniest of typos in the email address, it'll fail.
There is a resilience in snail-mail that has no equivalent in email.
This very problem accounts for the majority of support requests in case of those events (yes, more than 50% of all tickets is because the user entered incorrect information).