Version: 1.0.4.0
Add comprehensive email address validation to any .NET application or service.

Blocking Address Validation Code Example

The following example demonstrates validation of an email address using the PowerTCP Validator component. Progress is provided during the operation.

< Back to all samples for PowerTCP Email Validation for .NET

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show(doValidation("yourAddress@gmail.com"));
}

private string doValidation(string emailAddress)
{
    //Validate to the ultimate level.
    validator1.ValidationLevel = ValidationLevel.SmtpRecipient;

    //Raise the progress event for every validation step.
    validator1.VerboseProgress = true;

    //DNS settings.
    validator1.Dns.Rotateservers = false//always start with first server
    validator1.Dns.Retries = 2; //try up to 3 times
    validator1.Dns.Timeout = 5000; //5 seconds

    //SMTP settings.
    validator1.Smtp.MailFrom = "from@myDomain.com"//required
    validator1.Smtp.ConnectTimeout = 40000; //40 seconds
    validator1.Smtp.ReceiveTimeout = 40000; //40 seconds

    //Validate and return the result.
    ValidationState result = validator1.Validate(emailAddress);
    string description = "The validation of " + result.EmailAddress;
    description += " proceeded to the "; + result.Progress.ToString() + " level. ";
    description += (result.Exception == null)
        ? "The validation was successful."
        : "The following exception occurred: " + result.Exception.ToString();
    return description;
}

private void validator1_Progress(object sender, ProgressEventArgs e)
{
    //Record validation progress to a log.
    if (e.ValidationState.Exception == null)
        textLog.AppendText(e.ValidationState.EmailAddress + " OK: " +
            e.ValidationState.Progress.ToString() + Environment.NewLine);
    else
        textLog.AppendText(e.ValidationState.EmailAddress + " ERROR: " +
            e.ValidationState.Exception.Message + Environment.NewLine);
}