C#異步發送Email代碼
異步發送電子郵件代碼
/// <summary> /// 異步發送電子郵件 /// </summary> /// <param name="fromEmail">發送方電子郵件</param> /// <param name="fromPwd">發送方電子郵件密碼</param> /// <param name="toEmail">接收方電子郵件</param> /// <param name="subject">郵件標題</param> /// <param name="body">郵件內空</param> /// <param name="emailType">郵件類型</param> smtp.163.com.cn; smtp.qq.com.cn; smtp.126.com.cn; smtp.sina.com.cn private void SendEmailAsync(string fromEmail, string fromPwd, string toEmail, string subject, string body, string emailType) { MailAddress addrFrom = new MailAddress(fromEmail, fromEmail); MailAddress addrTo = new MailAddress(toEmail, toEmail); MailMessage mm = new MailMessage(addrFrom, addrTo); mm.BodyEncoding = Encoding.UTF8; mm.IsBodyHtml = true; mm.Subject = subject; mm.Body = body;if (!string.IsNullOrEmpty(attFile)) { Attachment att = new Attachment(attFile, MediaTypeNames.Application.Octet); ContentDisposition cd = att.ContentDisposition; cd.CreationDate = File.GetCreationTime(attFile); cd.ModificationDate = File.GetLastWriteTime(attFile); cd.ReadDate = File.GetLastAccessTime(attFile); mm.Attachments.Add(att);//添加附件 } NetworkCredential nc = new NetworkCredential(fromEmail, fromPwd); SmtpClient smtp = new SmtpClient(emailType); smtp.UseDefaultCredentials = false; smtp.Credentials = nc; smtp.EnableSsl = false; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.SendCompleted+=new SendCompletedEventHandler(smtp_SendCompleted); smtp.SendAsync(mm, "OK"); } void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e) { if (e.UserState.ToString() == "OK") MessageBox.Show("發送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }</pre>
本文由用戶 mb78 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!