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


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

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

MailMessage m = new MailMessage
  ("item@phpstudy.net",
  "raja@phpstudy.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.phpstudy.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#程序设计有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3