天天看點

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

繼續閱讀