博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#发送电子邮件 (异步) z
阅读量:6717 次
发布时间:2019-06-25

本文共 1759 字,大约阅读时间需要 5 分钟。

  1. ///验证电子邮件的正则表达式  
 
  1. string emailStr = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";  
 
  1. /// <summary>  
  2.         /// 异步发送电子邮件  
  3.         /// </summary>  
  4.         /// <param name="fromEmail">发送方电子邮件</param>  
  5.         /// <param name="fromPwd">发送方电子邮件密码</param>  
  6.         /// <param name="toEmail">接收方电子邮件</param>  
  7.         /// <param name="subject">邮件标题</param>  
  8.         /// <param name="body">邮件内空</param>  
  9.         /// <param name="emailType">邮件类型</param> smtp.163.com.cn; smtp.qq.com.cn; smtp.126.com.cn;  smtp.sina.com.cn  
  10.         private void SendEmailAsync(string fromEmail, string fromPwd, string toEmail, string subject, string body, string emailType)  
  11.         {  
  12.             MailAddress addrFrom = new MailAddress(fromEmail, fromEmail);  
  13.             MailAddress addrTo = new MailAddress(toEmail, toEmail);  
  14.             MailMessage mm = new MailMessage(addrFrom, addrTo);  
  15.             mm.BodyEncoding = Encoding.UTF8;  
  16.             mm.IsBodyHtml = true;  
  17.             mm.Subject = subject;  
  18.             mm.Body = body;  
  19.   
  20.             if (!string.IsNullOrEmpty(attFile))  
  21.             {  
  22.                 Attachment att = new Attachment(attFile, MediaTypeNames.Application.Octet);  
  23.                 ContentDisposition cd = att.ContentDisposition;  
  24.                 cd.CreationDate = File.GetCreationTime(attFile);  
  25.                 cd.ModificationDate = File.GetLastWriteTime(attFile);  
  26.                 cd.ReadDate = File.GetLastAccessTime(attFile);  
  27.                 mm.Attachments.Add(att);//添加附件  
  28.             }  
  29.   
  30.             NetworkCredential nc = new NetworkCredential(fromEmail, fromPwd);  
  31.             SmtpClient smtp = new SmtpClient(emailType);  
  32.             smtp.UseDefaultCredentials = false;  
  33.             smtp.Credentials = nc;  
  34.             smtp.EnableSsl = false;  
  35.             smtp.DeliveryMethod = SmtpDeliveryMethod.Network;  
  36.             smtp.SendCompleted+=new SendCompletedEventHandler(smtp_SendCompleted);  
  37.             smtp.SendAsync(mm, "OK");  
  38.         }  
  39.   
  40.         void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e)  
  41.         {  
  42.             if (e.UserState.ToString() == "OK")  
  43.                 MessageBox.Show("发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);  
  44.         } 

转载地址:http://upkmo.baihongyu.com/

你可能感兴趣的文章
一套解决方案,多个项目
查看>>
Qt3D Shader
查看>>
Android requires compiler compliance level 5.0 or 6.0. Found &#39;1.4&#39; instead的解决的方法
查看>>
dede文章插入分页符不起作用,编辑器中出现分页符,导致文章显示不全
查看>>
【POJ3377】Ferry Lanes 最短路
查看>>
zoj 1655 单源最短路 改为比例+最长路
查看>>
javascript--- HTML DOM
查看>>
Exactly-once Spark Streaming from Apache Kafka
查看>>
哎,系统分析师下午没过
查看>>
c++opencv项目移植到Android(Mat—》IplImage*)
查看>>
嵌入式linux------SDL移植(am335x下显示yuv420)
查看>>
当vcenter是linux版本的时候Sysprep存放路径
查看>>
代码管理(五)git 删除分支
查看>>
[学习笔记]Spring依赖注入
查看>>
网络虚拟化(SDN,NFV..)和企业骨干网的演化
查看>>
怎么确保站点的可用性
查看>>
我的第一个android应用——装逼神器《微博尾》
查看>>
[3] MQTT,mosquitto,Eclipse Paho---怎样使用 Eclipse Paho MQTT工具来发送订阅MQTT消息?
查看>>
jsTree插件简介(三)
查看>>
[PHP] 通用网关接口CGI 的运行原理
查看>>