Question: **When it's more important to prevent typos than to cover 100% of all possible email addresses, what syntactic email validations do you do?**

Imagine this:

> 
> You're with the local gas & electric company. 10% of new
>  installations are cancelled because the customer is not home and it
>  costs your company $50 a pop. You start taking email addresses with
>  the new install orders so that you can send reminder emails the day
>  before the appointment. You bring that number to 0% *when you have a
>  deliverable email*. The only problem is that 15% of all the emails
>  you take bounce back because of some typo. Email addresses are
>  recorded by call center agents who talk to the customer over the
>  phone.
> 
> 
> 

In this case, it's important to collect a valid email address. It's also not all that bad if someone cannot successfully use an email address like:

```
"Big Momma D.'s #1 CA$H Maker, BOY!!!"@naturalhistory.museum

```

My guess is that Big Momma D. can't use this email anywhere and either doesn't really use email, or has more conventional email address to use.

This is related to this more general question: 
[How far should I take e-mail address validation?](https://softwareengineering.stackexchange.com/questions/78353/how-far-should-one-take-e-mail-address-validation)

Let's throw a few more assumptions on here:

1. This is in the US, so it's unlike people will have email addresses like 漢字@gmail.com (good luck communicating that to a call center agent in Austin, Texas)
2. Validation emails are not suitable, since the customer is only in contact with us by phone

Answer: 
You should simply test sending an email to the given address. If the email is valid, it should reach the user's inbox and the user can click on a link to validate the email and continue registration. If the user did not receive the registration email, then they would notice that they typed something wrong. This procedure is pretty much standard nowadays.
One possible solution: Have them send you an email from their regular email address instead. Give them an email address that's as easy as possible to type. You can reserve a domain just for this. If your company is "MyCorp", you can register "MyCorpEmail.com". Tell them their appointment code is '243' and have them email '243@MyCorpEmail.com" (You can vary the domain, the appointment code can be a word, you get the idea.)

Then, when you get the email, you will have captured their email address with no chance of a typo. Just carefully select the email code on your side to make it as easy to type and spell as possible. You can even ask them to send them the email while you're on the phone, if possible.