天天看点

C#实现邮件发送

c#实现邮件发送

<a href="http://www.xxlinux.com/linux/dev/c/2007-11-26/12752.html">原文链接</a>

通过.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("[email protected]"); 

  5 msg.to.add("[email protected]"); 

  6 /**//* 

  7 * msg.to.add("[email protected]"); 

  8 * msg.to.add("[email protected]"); 

  9 * msg.to.add("[email protected]");可以发送给多人 

  10 */ 

  11 msg.cc.add("[email protected]"); 

  12 /**//* 

  13 * msg.cc.add("[email protected]"); 

  14 * msg.cc.add("[email protected]");可以抄送给多人 

  15 */ 

  16 msg.from = new mailaddress("[email protected]", "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() 

  26 client.credentials = new system.net.networkcredential("[email protected]", "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() 

  26 client.credentials = new system.net.networkcredential("[email protected]", "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("发送成功"); 

  38 catch (system.net.mail.smtpexception ex) 

  39 ...{ 

  40 messagebox.show(ex.message, "发送邮件出错"); 

  41 } 

  42 } 

  43 

  通过gmail来发送邮件,成功率极高,几乎都可以发到,推荐使用。

欢迎加群互相学习,共同进步。qq群:ios: 58099570 | android: 330987132 | go:217696290 | python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2009/03/02/1401381.html