最近公司由于一個R&I項目的需要,用戶要求在購買產(chǎn)品或出貨等一些環(huán)節(jié),需要發(fā)送郵件提醒或者說每周一讓系統(tǒng)自動采集數(shù)據(jù)發(fā)送一封E-mail,因此我也就找來相關(guān)資料,寫了一個Demo分享給大家,大家共同學(xué)習(xí)學(xué)習(xí)。
通過.Net FrameWork 2.0下提供的“System.Net.Mail”可以輕松的實現(xiàn),本文列舉了3種途徑來發(fā)送:
1.通過Localhost;
2.通過普通SMTP;
3.通過SSL的SMTP;
下面一個一個來說:
[html]
??
?? public void SendMailLocalhost()??
{??
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();??
msg.To.Add("
a@a.com
");??
msg.To.Add("
b@b.com
");??
/* msg.To.Add("
b@b.com
");??
* msg.To.Add("
b@b.com
");??
* msg.To.Add("
b@b.com
");可以發(fā)送給多人??
*/??
msg.CC.Add(
c@c.com
);??
/*??
* msg.CC.Add("
c@c.com
");??
* msg.CC.Add("
c@c.com
");可以抄送給多人??
*/??
msg.From = new MailAddress("
a@a.com
", "AlphaWu", System.Text.Encoding.UTF8);??
/* 上面3個參數(shù)分別是發(fā)件人地址(可以隨便寫),發(fā)件人姓名,編碼*/??
msg.Subject = "這是測試郵件";//郵件標(biāo)題??
msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標(biāo)題編碼??
msg.Body = "郵件內(nèi)容";//郵件內(nèi)容??
msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內(nèi)容編碼??
msg.IsBodyHtml = false;//是否是HTML郵件??
msg.Priority = MailPriority.High;//郵件優(yōu)先級?
??
SmtpClient client = new SmtpClient();??
client.Host = "localhost";??
object userState = msg;??
try??
{??
client.SendAsync(msg, userState);??
//簡單一點兒可以client.Send(msg);??
MessageBox.Show("發(fā)送成功");??
}??
catch (System.Net.Mail.SmtpException ex)??
{??
MessageBox.Show(ex.Message, "發(fā)送郵件出錯");??
}??
}?
??? public void SendMailLocalhost()??
{??
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();??
msg.To.Add("
a@a.com
");??
msg.To.Add("
b@b.com
");??
/* msg.To.Add("
b@b.com
");??
* msg.To.Add("
b@b.com
");??
* msg.To.Add("
b@b.com
");可以發(fā)送給多人??
*/??
msg.CC.Add(
c@c.com
);??
/*??
* msg.CC.Add("
c@c.com
");??
* msg.CC.Add("
c@c.com
");可以抄送給多人??
*/??
msg.From = new MailAddress(
master@boys90.com
, "dulei", System.Text.Encoding.UTF8);??
/* 上面3個參數(shù)分別是發(fā)件人地址(可以隨便寫),發(fā)件人姓名,編碼*/??
msg.Subject = "這是測試郵件";//郵件標(biāo)題??
msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標(biāo)題編碼??
msg.Body = "郵件內(nèi)容";//郵件內(nèi)容??
msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內(nèi)容編碼??
msg.IsBodyHtml = false;//是否是HTML郵件??
msg.Priority = MailPriority.High;//郵件優(yōu)先級?
SmtpClient client = new SmtpClient();??
client.Host = "localhost";??
object userState = msg;??
try??
{??
client.SendAsync(msg, userState);??
//簡單一點兒可以client.Send(msg);??
MessageBox.Show("發(fā)送成功");??
}??
catch (System.Net.Mail.SmtpException ex)??
{??
MessageBox.Show(ex.Message, "發(fā)送郵件出錯");??
}??
}?
?
2.通過普通SMTP C#代碼如下
[html]
public void SendMailUseZj()????
{????
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();????
msg.To.Add(
a@a.com
);????
msg.To.Add(
b@b.com
);????
/*???
* msg.To.Add("
b@b.com
");???
* msg.To.Add("
b@b.com
");???
* msg.To.Add("
b@b.com
");可以發(fā)送給多人???
*/????
msg.CC.Add("
c@c.com
");????
/*???
* msg.CC.Add("
c@c.com
");???
* msg.CC.Add("
c@c.com
");可以抄送給多人???
*/????
msg.From = new MailAddress("
master@boys90.com
", "dulei", System.Text.Encoding.UTF8);????
/* 上面3個參數(shù)分別是發(fā)件人地址(可以隨便寫),發(fā)件人姓名,編碼*/????
msg.Subject = "這是測試郵件";//郵件標(biāo)題????
msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標(biāo)題編碼????
msg.Body = "郵件內(nèi)容";//郵件內(nèi)容????
msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內(nèi)容編碼????
msg.IsBodyHtml = false;//是否是HTML郵件????
msg.Priority = MailPriority.High;//郵件優(yōu)先級????
???
? SmtpClient client = new SmtpClient();???
client.Credentials = new System.Net.NetworkCredential("
dulei@71info.com
", "userpass");????
//在71info.com注冊的郵箱和密碼????
client.Host = "smtp.71info.com";????
object userState = msg;????
try????
{????
client.SendAsync(msg, userState);????
//簡單一點兒可以client.Send(msg);????
MessageBox.Show("發(fā)送成功");????
}????
catch (System.Net.Mail.SmtpException ex)????
{????
MessageBox.Show(ex.Message, "發(fā)送郵件出錯");????
}????
}??
?
3.通過SSL的SMTP
[html]
public void SendMailUseGmail()????
{????
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();????
msg.To.Add(
a@a.com
);????
msg.To.Add(
b@b.com
);????
/*???
?msg.To.Add("
b@b.com
");???
* msg.To.Add("
b@b.com
");???
* msg.To.Add("
b@b.com
");可以發(fā)送給多人???
*/????
msg.CC.Add(
c@c.com
);????
/*???
* msg.CC.Add("
c@c.com
");???
* msg.CC.Add("
c@c.com
");可以抄送給多人???
*/????
msg.From = new MailAddress("boys90.com", "dulei", System.Text.Encoding.UTF8);????
/* 上面3個參數(shù)分別是發(fā)件人地址(可以隨便寫),發(fā)件人姓名,編碼*/????
msg.Subject = "這是測試郵件";//郵件標(biāo)題????
msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標(biāo)題編碼????
msg.Body = "郵件內(nèi)容";//郵件內(nèi)容????
msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內(nèi)容編碼????
msg.IsBodyHtml = false;//是否是HTML郵件????
msg.Priority = MailPriority.High;//郵件優(yōu)先級????
SmtpClient client = new SmtpClient();????
client.Credentials = new System.Net.NetworkCredential("
boys90com@gmail.com
", "password");????
//上述寫你的GMail郵箱和密碼????
client.Port = 587;//Gmail使用的端口????
client.Host = "smtp.gmail.com";????
client.EnableSsl = true;//經(jīng)過ssl
加密
????
object userState = msg;????
try????
{????
client.SendAsync(msg, userState);????
//簡單一點兒可以client.Send(msg);????
MessageBox.Show("發(fā)送成功");????
}????
catch (System.Net.Mail.SmtpException ex)????
{????
MessageBox.Show(ex.Message, "發(fā)送郵件出錯");????
}????
}??
?
通過Gmail來發(fā)送郵件,成功率極高,幾乎都可以發(fā)到,推薦使用,以上的幾種方法,我想已經(jīng)夠我們做開發(fā)的用了。至于我做的Demo我整理好了就分享給大家。
我的獨立博客90男孩分享網(wǎng) 歡迎大家光臨,我們一起努力學(xué)習(xí)更多的知識,分享網(wǎng)快樂分享,快樂生活!!
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
