本文实例讲述了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#程序设计有所帮助。