I absolutely abhor using regex, but it really is the best tool for the job in this case:
public static bool ValidEmailAddress(string addy)
{
bool valid = true;
string pattern = @"^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$";
Regex regEx = new Regex(pattern);
valid = (regEx.IsMatch(addy));
return valid;
}