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: 
First of all, I'd run it through the most basic of regexs for validity. You can find several options, all with their own problems and features at: <http://www.regular-expressions.info/email.html>. (There's an ugly one down the page that implements RFC 822) 

However, what you have here is a business problem, not a computing problem. The solution is simple: "Your appointment for installation is XXXXXX. Should you miss this appointment without contacting us, you will be billed $50.00, and will have to reschedule."
I've done something similar. I suggest you send them an appointment reminder email the day the day before the appointment (or some other timeframe), with the email coming from a dedicated email account. Have a job that scans that emails' inbox every 15 minutes or so, looking for the returned undeliverable message. Given your email setup, you should be able to compose the outgoing email with a recognizable ID or token, or if that's not possible, you could embed a GUID in the email body itself and check for that. When an undeliverable message comes back, the original message can usually be located and parsed. For emails that come back as undeliverable, locate the customer record in question if possible, then send an item into some kind of high priority queue for an extra human-based phone call to the person prior to the delivery.