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. if (!string.IsNullOrEmpty(attFile))
  20. {
  21. Attachment att = new Attachment(attFile, MediaTypeNames.Application.Octet);
  22. ContentDisposition cd = att.ContentDisposition;
  23. cd.CreationDate = File.GetCreationTime(attFile);
  24. cd.ModificationDate = File.GetLastWriteTime(attFile);
  25. cd.ReadDate = File.GetLastAccessTime(attFile);
  26. mm.Attachments.Add(att);//添加附件
  27. }
  28. NetworkCredential nc = new NetworkCredential(fromEmail, fromPwd);
  29. SmtpClient smtp = new SmtpClient(emailType);
  30. smtp.UseDefaultCredentials = false;
  31. smtp.Credentials = nc;
  32. smtp.EnableSsl = false;
  33. smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
  34. smtp.SendCompleted+=new SendCompletedEventHandler(smtp_SendCompleted);
  35. smtp.SendAsync(mm, "OK");
  36. }
  37. void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e)
  38. {
  39. if (e.UserState.ToString() == "OK")
  40. MessageBox.Show("发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  41. }

最新文章

  1. iOS开发UI篇—Quartz2D简单使用(三)
  2. 链接测试工具xenu link sleuth的使用
  3. Dynamic CRM 2013学习笔记(六)备份和恢复
  4. SignalR-入门
  5. 微信公众账号开发教程(一) 基本原理及微信公众账号注册 ——转自http://www.cnblogs.com/yank/p/3364827.html
  6. 《FLASH CC 2015 CANVAS 中文教程》——3、this关键字 入门
  7. 虚拟化之vmx配置文件
  8. Android开发的初学者快速创建一个项目
  9. Python爬虫第一集
  10. ASP.NET(C#) GridView (编辑、删除、更新、取消)
  11. 最大流加强 dinic+当前弧优化
  12. 项目需要简单些了个WEB APP 的弹出窗
  13. WCF和ASP.NET Web API在应用上的选择
  14. python version 2. required,which was not found in the registry 解决方案
  15. Cmder Windows 下的终端神器
  16. [hosts]在hosts中屏蔽一级域名和二级域名的写法
  17. 解决一个Ubuntu中编译NEON优化的OpenCV的错误
  18. WinForm中在非UI线程更改控件值的办法
  19. 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)
  20. valgrind内存检测工具

热门文章

  1. hdu3966 Aragorn&#39;s Story 树链剖分
  2. HDU 6301 (贪心+优先队列)
  3. docker 部署disconf 以及将其做成镜像
  4. js 判断各种数据类型 typeof 几种类型值
  5. Tomcat配置自定义访问日志 --- 获取请求头部信息
  6. java多线程之线程组与线程池
  7. 读书笔记-NIO的工作方式
  8. URAL —— 1255 &amp; HDU 5100——Chessboard ——————【数学规律】
  9. 深入理解JavaScript系列(36):设计模式之中介者模式
  10. hadoop 天气案例