Вы можете использовать класс System.Net.Mail.SmtpClient для отправки электронной почты с использованием метода SendAsync () .
var smtpClient = new SmtpClient();
var message = new MailMessage(fromAddress, toAddress, subject, body);
smtpClient.SendCompleted += new SendCompletedEventHandler(OnSendCompletedCallback);
smtpClient.SendAsync(message, null); // Null Or pass a user token to be send when the send is complete
Если после обработки асинхронной отправки вам потребуется обработать некоторые дополнительные действия, вы также можете подписаться на SendCompleted событие SmtpClient.
private void OnSendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
// Handle the callback if you need to do anything after the email is sent.
}
Здесь - ссылка на документацию по MSDN.