public static bool IsValidEmail(string emailAddress, out EnEmailAddressStatusCode statusCode) { statusCode = EnEmailAddressStatusCode.Valid; if (String.IsNullOrEmpty(emailAddress)) { statusCode = EnEmailAddressStatusCode.Blank; return(false); } // Use IdnMapping class to convert Unicode domain names. emailAddress = Regex.Replace(emailAddress, @"(@)(.+)$", Mailer.DomainMapper); if (String.IsNullOrEmpty(emailAddress)) { statusCode = EnEmailAddressStatusCode.IncorrectFormat; return(false); } // Return true if emailAddress is in valid e-mail format. bool valid = Regex.IsMatch(emailAddress, @"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$", RegexOptions.IgnoreCase); if (!valid) { statusCode = EnEmailAddressStatusCode.IncorrectFormat; } return(valid); }
public static bool IsValidEmail(string emailAddress) { EnEmailAddressStatusCode code = EnEmailAddressStatusCode.Blank; return(IsValidEmail(emailAddress, out code)); }