zoukankan      html  css  js  c++  java
  • C# 发送邮件 方法 总结

    通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送:
      1.通过Localhost;
      2.通过普通SMTP;
      3.通过SSL的SMTP;
      
      下面一个一个来说:
      
      1.通过LocalHost
      
      
      1public void SendMailLocalhost()
      2 ...{
      3 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
      4 msg.To.Add("");
      5 msg.To.Add("");
      6 /**//*
      7 * msg.To.Add("");
      8 * msg.To.Add("");
      9 * msg.To.Add("");可以发送给多人
      10 */
      11 msg.CC.Add("");
      12 /**//*
      13 * msg.CC.Add("");
      14 * msg.CC.Add("");可以抄送给多人
      15 */
      16 msg.From = new MailAddress("", "AlphaWu", System.Text.Encoding.UTF8);
      17 /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
      18 msg.Subject = "这是测试邮件";//邮件标题
      19 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
      20 msg.Body = "邮件内容";//邮件内容
      21 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
      22 msg.IsBodyHtml = false;//是否是HTML邮件
      23 msg.Priority = MailPriority.High;//邮件优先级
      24
      25 SmtpClient client = new SmtpClient();
      26 client.Host = "localhost";
      27 object userState = msg;
      28 try
      29 ...{
      30 client.SendAsync(msg, userState);
      31 //简单一点儿可以client.Send(msg);
      32 MessageBox.Show("发送成功");
      33 }
      34 catch (System.Net.Mail.SmtpException ex)
      35 ...{
      36 MessageBox.Show(ex.Message, "发送邮件出错");
      37 }
      38 }
      39
      
      
      2.通过普通SMTP
      
      
      1public void SendMailUseZj()
      2 ...{
      3 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
      4 msg.To.Add("");
      5 msg.To.Add("");
      6 /**//*
      7 * msg.To.Add("");
      8 * msg.To.Add("");
      9 * msg.To.Add("");可以发送给多人
      10 */
      11 msg.CC.Add("");
      12 /**//*
      13 * msg.CC.Add("");
      14 * msg.CC.Add("");可以抄送给多人
      15 */
      16 msg.From = new MailAddress("", "AlphaWu", System.Text.Encoding.UTF8);
      17 /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
      18 msg.Subject = "这是测试邮件";//邮件标题
      19 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
      20 msg.Body = "邮件内容";//邮件内容
      21 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
      22 msg.IsBodyHtml = false;//是否是HTML邮件
      23 msg.Priority = MailPriority.High;//邮件优先级
      24
      25 SmtpClient client = new SmtpClient();
      26 client.Credentials = new System.Net.NetworkCredential("", "userpass");
      27 //在zj.com注册的邮箱和密码
      28 client.Host = "smtp.zj.com";
      29 object userState = msg;
      30 try
      31 ...{
      32 client.SendAsync(msg, userState);
      33 //简单一点儿可以client.Send(msg);
      34 MessageBox.Show("发送成功");
      35 }
      36 catch (System.Net.Mail.SmtpException ex)
      37 ...{
      38 MessageBox.Show(ex.Message, "发送邮件出错");
      39 }
      40 }
      41
      
      
      上述方法不适用于所有SMTP,经测试zj.com可以,而smtp.163.com不行
      
      
      3.通过SSL的SMTP
      
      
      1public void SendMailUseGmail()
      2 ...{
      3 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
      4 msg.To.Add("");
      5 msg.To.Add("");
      6 /**//*
      7 * msg.To.Add("");
      8 * msg.To.Add("");
      9 * msg.To.Add("");可以发送给多人
      10 */
      11 msg.CC.Add("");
      12 /**//*
      13 * msg.CC.Add("");
      14 * msg.CC.Add("");可以抄送给多人
      15 */
      16 msg.From = new MailAddress("", "AlphaWu", System.Text.Encoding.UTF8);
      17 /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
      18 msg.Subject = "这是测试邮件";//邮件标题
      19 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
      20 msg.Body = "邮件内容";//邮件内容
      21 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
      22 msg.IsBodyHtml = false;//是否是HTML邮件
      23 msg.Priority = MailPriority.High;//邮件优先级
      24
      25 SmtpClient client = new SmtpClient();
      26 client.Credentials = new System.Net.NetworkCredential("", "password");
      27 //上述写你的GMail邮箱和密码
      28 client.Port = 587;//Gmail使用的端口
      29 client.Host = "smtp.gmail.com";
      30 client.EnableSsl = true;//经过ssl加密
      31 object userState = msg;
      32 try
      33 ...{
      34 client.SendAsync(msg, userState);
      35 //简单一点儿可以client.Send(msg);
      36 MessageBox.Show("发送成功");
      37 }
      38 catch (System.Net.Mail.SmtpException ex)
      39 ...{
      40 MessageBox.Show(ex.Message, "发送邮件出错");
      41 }
      42 }
      43
      通过Gmail来发送邮件,成功率极高,几乎都可以发到,推荐使用。

    我试了下  QQ邮箱不行  GMAIL可行  仅供参考

  • 相关阅读:
    Apache Ant 1.9.1 版发布
    Apache Subversion 1.8.0rc2 发布
    GNU Gatekeeper 3.3 发布,网关守护管理
    Jekyll 1.0 发布,Ruby 的静态网站生成器
    R语言 3.0.1 源码已经提交到 Github
    SymmetricDS 3.4.0 发布,数据同步和复制
    beego 0.6.0 版本发布,Go 应用框架
    Doxygen 1.8.4 发布,文档生成工具
    SunshineCRM 20130518发布,附带更新说明
    Semplice Linux 4 发布,轻量级发行版
  • 原文地址:https://www.cnblogs.com/zhihaowang/p/10128676.html
Copyright © 2011-2022 走看看