[C#]發送Email郵件方法總結)

來源:互聯網
上載者:User
通過.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("a@a.com");
  5 msg.To.Add("b@b.com");
  6 /**//*
  7 * msg.To.Add("b@b.com");
  8 * msg.To.Add("b@b.com");
  9 * msg.To.Add("b@b.com");可以發送給多人
  10 */
  11 msg.CC.Add("c@c.com");
  12 /**//*
  13 * msg.CC.Add("c@c.com");
  14 * msg.CC.Add("c@c.com");可以抄送給多人
  15 */
  16 msg.From = new MailAddress("a@a.com", "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("a@a.com");
  5 msg.To.Add("b@b.com");
  6 /**//*
  7 * msg.To.Add("b@b.com");
  8 * msg.To.Add("b@b.com");
  9 * msg.To.Add("b@b.com");可以發送給多人
  10 */
  11 msg.CC.Add("c@c.com");
  12 /**//*
  13 * msg.CC.Add("c@c.com");
  14 * msg.CC.Add("c@c.com");可以抄送給多人
  15 */
  16 msg.From = new MailAddress("a@a.com", "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("username@zj.com", "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("a@a.com");
  5 msg.To.Add("b@b.com");
  6 /**//*
  7 * msg.To.Add("b@b.com");
  8 * msg.To.Add("b@b.com");
  9 * msg.To.Add("b@b.com");可以發送給多人
  10 */
  11 msg.CC.Add("c@c.com");
  12 /**//*
  13 * msg.CC.Add("c@c.com");
  14 * msg.CC.Add("c@c.com");可以抄送給多人
  15 */
  16 msg.From = new MailAddress("a@a.com", "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("username@gmail.com", "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來發送郵件,成功率極高,幾乎都可以發到,推薦使用。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.