C#实现异步发送邮件的方法

本文实例讲述了C#实现异步发送邮件的方法。分享给大家供大家参考。具体如下:

下面的代码可以实现异步发送邮件,等邮件发送出去后会自动调用回调函数,这样在发送邮件时就不会卡住程序不动了

MailMessage m = new MailMessage
  ("item@jb51.net",
  "raja@jb51.net",
  "This is the subject for the authorized email.",
  "This is the body of the authorized mail!...");
// Send the message using authorization
SmtpClient client = new SmtpClient("smtp.jb51.net");
client.Credentials = new NetworkCredential("user", "password");
client.EnableSsl = true;
// Add the event handler
client.SendCompleted += new SendCompletedEventHandler(mail_SendCompleted);
// Send the message asynchronously
client.SendAsync(m, null);
// To Cancel the send
//client.SendAsyncCancel();
void mail_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
  if (e.Cancelled)
    Console.WriteLine("Message cancelled");
  else if (e.Error != null)
    Console.WriteLine("Error: " + e.Error.ToString());
  else
    Console.WriteLine("Message sent");
}

希望本文所述对大家的C#程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#niaoge.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。