Get Send status of each email in BulkSend

I use Aspse.Email 6.0.0.0 to send email. when I try to bulk send several email by bellow code :

public void Send()
{
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", “Subject1”, “message1, how are you?”);
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", “Subject2”, “message2, how are you?”);
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", “Subject3”, “message3, how are you?”);
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.Add(message1);
manyMsg.Add(message2);
manyMsg.Add(message3);
smtpClient.BeginSend(manyMsg, callback);
}

private void callback(IAsyncResult asyncResult)
{
var task = (MailClientTask)asyncResult;
}

How I can get status of each sent email in callback method?
<table class=“highlight tab-size js-file-line-container” data-tab-size=“8” style=“font-size: 12px; line-height: 1.4; color: rgb(51, 51, 51); clear: left; padding: 0px; margin: 0px; font-family: Consolas, “Liberation Mono”, Menlo, Courier, monospace; border: 0px; border-collapse: collapse; background: rgb(255, 255, 255);”>

Hi Freydoon,


Thank you for writing to Aspose support team.

We are working on this requirement and will share our feedback soon. We are sorry for the inconvenience caused to you in this regard.


Hi Freydoon,

Thank you for being patient.
You may please use EventHandler instead of AsyncCallback as shown in the following sample code and share the feedback.

try
{
    MailMessageCollection messageCollection = new MailMessageCollection();
    
    for (int i = 0; i < 3; i++)
    {
        MailMessage message = new MailMessage(
        "user1@gmail.com",
        "user2@gmail.com",
        "Get Send status of each email in BulkSend - " + Guid.NewGuid().ToString(),
        "Get Send status of each email in BulkSend");
        messageCollection.Add(message);
    }
    
    int cnt = 0;
    
    EventHandler<MailMessageEventArgs> messageSentDelegate = delegate (object sender, MailMessageEventArgs args)
    {
        cnt++;
        Console.WriteLine("Message {0} sent",cnt);
    };
    
    IAsyncResult ar = smtpClient.BeginSend(messageCollection, messageSentDelegate);
    smtpClient.EndSend(ar);
}
catch (Exception ex)
{

}