C#发送Email邮件方法总结
生活随笔
收集整理的這篇文章主要介紹了
C#发送Email邮件方法总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過.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來發送郵件,成功率極高,幾乎都可以發到,推薦使用。
??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來發送郵件,成功率極高,幾乎都可以發到,推薦使用。
轉載于:https://www.cnblogs.com/ie421/archive/2008/08/22/1273853.html
總結
以上是生活随笔為你收集整理的C#发送Email邮件方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京海淀一小区现长牙怪鱼 野保站:入侵生
- 下一篇: 得不到和已失去