NET Email Validation
ResponseReceivedEvent Event
Example 






KellermanSoftware.NetEmailValidation Namespace > EmailValidation Class : ResponseReceivedEvent Event
Occurs when a validation response is received for asynchronous processing.
Syntax
'Declaration
 
Public Event ResponseReceivedEvent As EmailValidation.ResponseReceivedEventHandler
'Usage
 
Dim instance As EmailValidation
Dim handler As EmailValidation.ResponseReceivedEventHandler
 
AddHandler instance.ResponseReceivedEvent, handler
public event EmailValidation.ResponseReceivedEventHandler ResponseReceivedEvent
public event ResponseReceivedEvent: EmailValidation.ResponseReceivedEventHandler; 
In JScript, you can handle the events defined by another class, but you cannot define your own.
public: __event EmailValidation.ResponseReceivedEventHandler* ResponseReceivedEvent
public:
event EmailValidation.ResponseReceivedEventHandler^ ResponseReceivedEvent
Example
public void Example()
{
    EmailValidation emailValidator = new EmailValidation(); //Trial Mode
    //EmailValidation emailValidator = new EmailValidation("place user name here", "place license key here"); //License Mode
     
    emailValidator.FromEmail = "someone@somewhere.com";
    emailValidator.FromMailServer = "mail.somewhere.com";
     
    //Create a list of 100 email addresses with an id
    Dictionary<string, string> emailAddresses = new Dictionary<string, string>();
     
    for (int i = 1; i <= 100; i++)
        emailAddresses.Add(i.ToString(),string.Format("johnsmith{0}@hotmail.com", i));
     
    List<ValidationOptions> options = emailValidator.BestConnectionOptions();
     
    //Attach Events                
    emailValidator.ProgressEvent += new EmailValidation.ProgressChangedEventHandler(ProgressEvent);
    emailValidator.ValidationCompleteEvent += new AsyncCompletedEventHandler(CompletionEvent);
    emailValidator.ResponseReceivedEvent += new EmailValidation.ResponseReceivedEventHandler(ResponseReceivedEvent);
     
    //Begin asynchronous validation
    emailValidator.ValidateListAsync(emailAddresses, options);
     
    while (emailValidator.IsBusy)
    {
        //Sleep 1 second
        System.Threading.Thread.Sleep(1000);
    }
     
    //Remove the event connections
    emailValidator.ProgressEvent -= new EmailValidation.ProgressChangedEventHandler(ProgressEvent);
    emailValidator.ValidationCompleteEvent -= new AsyncCompletedEventHandler(CompletionEvent);
    emailValidator.ResponseReceivedEvent -= new EmailValidation.ResponseReceivedEventHandler(ResponseReceivedEvent);
}
 
 
public void CompletionEvent(object sender, AsyncCompletedEventArgs e)
{
    Console.WriteLine("Finished. Validated emails");
}
 
public void ProgressEvent(object sender, ProgressEventArgs args)
{
    Console.WriteLine(string.Format("{0}% ({1} of {2}", args.ProgressPercentage, args.EmailsProcessed, args.TotalEmailsToProcess));
}
 
public void ResponseReceivedEvent(object sender, Result result)
{
    if (result.IsValid)
    {
        //Do something
    }
    else
    {
        //Do something else
    }
 
    Console.WriteLine(result.Log);
}
Public Sub Example()
    Dim emailValidator As EmailValidation = New EmailValidation() 'Trial Mode
    'Dim emailValidator As EmailValidation = New EmailValidation("place user name here", "place license key here") 'License Mode
 
    emailValidator.FromEmail = "someone@somewhere.com"
    emailValidator.FromMailServer = "mail.somewhere.com"
     
    'Create a list of 100 email addresses with an id
    Dim emailAddresses As Dictionary(Of String, String) = New Dictionary(Of String, String)()
     
    For i As Integer = 1 To 100
        emailAddresses.Add(i.ToString(),String.Format("johnsmith{0}@hotmail.com", i))
    Next i
     
    Dim options As List(Of ValidationOptions) = emailValidator.BestConnectionOptions()
     
    'Attach Events                
    AddHandler emailValidator.ProgressEvent, AddressOf ProgressEvent
    AddHandler emailValidator.ValidationCompleteEvent, AddressOf CompletionEvent
    AddHandler emailValidator.ResponseReceivedEvent, AddressOf ResponseReceivedEvent
     
    'Begin asynchronous validation
    emailValidator.ValidateListAsync(emailAddresses, options)
     
    Do While emailValidator.IsBusy
        'Sleep 1 second
        System.Threading.Thread.Sleep(1000)
    Loop
     
    'Remove the event connections
    RemoveHandler emailValidator.ProgressEvent, AddressOf ProgressEvent
    RemoveHandler emailValidator.ValidationCompleteEvent, AddressOf CompletionEvent
    RemoveHandler emailValidator.ResponseReceivedEvent, AddressOf ResponseReceivedEvent
End Sub
    
 
Public Sub CompletionEvent(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs)
    Console.WriteLine("Finished. Validated emails")
End Sub
 
Public Sub ProgressEvent(ByVal sender As Object, ByVal args As ProgressEventArgs)
    Console.WriteLine(String.Format("{0}% ({1} of {2}", args.ProgressPercentage, args.EmailsProcessed, args.TotalEmailsToProcess))
End Sub
 
Public Sub ResponseReceivedEvent(ByVal sender As Object, ByVal result As Result)
    If result.IsValid Then
        'Do something
    Else
        'Do something else
    End If
 
    Console.WriteLine(result.Log)
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

EmailValidation Class
EmailValidation Members