本實例需下載hMailServer與foxMail配合使用,達到接收郵件功能,下面用C#代碼實現接收郵件功能。
注:安裝包已經放到百度雲盤上,若需要請自己下載,里面包含安裝步驟與環境配置教程!

鏈接:https://pan.baidu.com/s/1au4mLB7Mu1DUPulLa4Uz7Q
提取碼:uqcr
C#編寫代碼方式,實現郵件發送
主界面:

實現代碼:
private void button1_Click(object sender, EventArgs e) { //引用命名空間:using System.Net.Mail; //1、創建一個郵件對象 MailMessage mailObject = new MailMessage(); //設置發件人 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //發件人地址 //設置收件人 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多個 //mailObject.CC 抄送的人 //設置郵件主題 //為了防止亂碼,設置主題編碼格式 mailObject.SubjectEncoding = Encoding.UTF8; mailObject.Subject = "吃了嗎?"; //設置正文編碼格式 mailObject.BodyEncoding = Encoding.UTF8; mailObject.Body = "吃了嗎?吃的什么晚飯"; //2.創建一個發送郵件的對象 SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = "192.168.0.108"; //設置服務器ip地址 smtpClient.Port = 25; //端口號 //引入命名空間:using System.Net; smtpClient.Credentials = new NetworkCredential("sam","1234"); //發送 smtpClient.Send(mailObject); MessageBox.Show("ok"); }
接收成功!

寫一封帶HTML的郵件
方式一:
private void button2_Click(object sender, EventArgs e) { #region 方式一 //引用命名空間:using System.Net.Mail; //1、創建一個郵件對象 MailMessage mailObject = new MailMessage(); //設置發件人 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //發件人地址 //設置收件人 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多個 //mailObject.CC 抄送的人 //設置郵件主題 //為了防止亂碼,設置主題編碼格式 mailObject.SubjectEncoding = Encoding.UTF8; mailObject.Subject = "吃了嗎?"; //設置正文編碼格式 //------------------------------------- mailObject.BodyEncoding = Encoding.UTF8; mailObject.Body = "吃了嗎?<font color='red' size='7'>吃的</font>什么晚飯呀"; mailObject.IsBodyHtml = true; //-------------------------------------- //2.創建一個發送郵件的對象 SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = "192.168.0.108"; //設置服務器ip地址 smtpClient.Port = 25; //端口號 //引入命名空間:using System.Net; smtpClient.Credentials = new NetworkCredential("sam", "1234"); //發送 smtpClient.Send(mailObject); MessageBox.Show("ok"); #endregion }
方式二:
1 private void button2_Click(object sender, EventArgs e) 2 { 3 #region 方式二 4 //引用命名空間:using System.Net.Mail; 5 //1、創建一個郵件對象 6 MailMessage mailObject = new MailMessage(); 7 //設置發件人 8 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //發件人地址 9 //設置收件人 10 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多個 11 //mailObject.CC 抄送的人 12 //設置郵件主題 13 //為了防止亂碼,設置主題編碼格式 14 mailObject.SubjectEncoding = Encoding.UTF8; 15 mailObject.Subject = "吃了嗎?"; 16 //設置正文編碼格式 17 //------------------------------------- 18 mailObject.BodyEncoding = Encoding.UTF8; 19 //創建一個html正文對象 20 AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("吃了嗎?<font color='red' size='7'>吃的</font>什么晚飯呀", null,"text/html"); 21 //把html正文對象加到郵件對象mailObject中 22 mailObject.AlternateViews.Add(htmlBody); 23 //-------------------------------------- 24 //2.創建一個發送郵件的對象 25 SmtpClient smtpClient = new SmtpClient(); 26 smtpClient.Host = "192.168.0.108"; //設置服務器ip地址 27 smtpClient.Port = 25; //端口號 28 //引入命名空間:using System.Net; 29 smtpClient.Credentials = new NetworkCredential("sam", "1234"); 30 //發送 31 smtpClient.Send(mailObject); 32 MessageBox.Show("ok"); 33 #endregion 34 }
效果圖:

發送帶圖片的郵件:
1 private void button3_Click(object sender, EventArgs e) 2 { 3 #region 方式二 4 //引用命名空間:using System.Net.Mail; 5 //1、創建一個郵件對象 6 MailMessage mailObject = new MailMessage(); 7 //設置發件人 8 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //發件人地址 9 //設置收件人 10 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多個 11 //mailObject.CC 抄送的人 12 //設置郵件主題 13 //為了防止亂碼,設置主題編碼格式 14 mailObject.SubjectEncoding = Encoding.UTF8; 15 mailObject.Subject = "吃了嗎?"; 16 //設置正文編碼格式 17 //------------------------------------- 18 mailObject.BodyEncoding = Encoding.UTF8; 19 //創建一個html正文對象 20 AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("吃了嗎?<font color='red' size='7'>吃的</font>什么晚飯呀<img src='cid:pho'/>", null, "text/html"); 21 //創建一個資源,該資源與html正文中的相關內容一一對應 22 LinkedResource lr = new LinkedResource(@"01.jpg", "image/jpg"); 23 lr.ContentId = "xxx"; 24 //把這個資源加到html正文中 25 htmlBody.LinkedResources.Add(lr); 26 //把html正文對象加到郵件對象mailObject中 27 mailObject.AlternateViews.Add(htmlBody); 28 //-------------------------------------- 29 //2.創建一個發送郵件的對象 30 SmtpClient smtpClient = new SmtpClient(); 31 smtpClient.Host = "192.168.0.108"; //設置服務器ip地址 32 smtpClient.Port = 25; //端口號 33 //引入命名空間:using System.Net; 34 smtpClient.Credentials = new NetworkCredential("sam", "1234"); 35 //發送 36 smtpClient.Send(mailObject); 37 MessageBox.Show("ok"); 38 #endregion 39 }
發送帶附件的郵件:
1 private void button4_Click(object sender, EventArgs e) 2 { 3 #region 方式二 4 //引用命名空間:using System.Net.Mail; 5 //1、創建一個郵件對象 6 MailMessage mailObject = new MailMessage(); 7 //設置發件人 8 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //發件人地址 9 //設置收件人 10 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多個 11 //mailObject.CC 抄送的人 12 //設置郵件主題 13 //為了防止亂碼,設置主題編碼格式 14 mailObject.SubjectEncoding = Encoding.UTF8; 15 mailObject.Subject = "吃了嗎?"; 16 //設置正文編碼格式 17 //------------------------------------- 18 mailObject.BodyEncoding = Encoding.UTF8; 19 //創建一個html正文對象 20 AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("吃了嗎?<font color='red' size='7'>吃的</font>什么晚飯呀<img src='cid:pho'/>", null, "text/html"); 21 //創建一個資源,該資源與html正文中的相關內容一一對應 22 LinkedResource lr = new LinkedResource(@"01.jpg", "image/jpg"); 23 lr.ContentId = "xxx"; 24 //把這個資源加到html正文中 25 htmlBody.LinkedResources.Add(lr); 26 //把html正文對象加到郵件對象mailObject中 27 mailObject.AlternateViews.Add(htmlBody); 28 //----------------------增加附件------------------ 29 Attachment attach1 = new Attachment("a.jpg"); 30 mailObject.Attachments.Add(attach1); 31 //----------------------增加附件------------------ 32 //-------------------------------------- 33 //2.創建一個發送郵件的對象 34 SmtpClient smtpClient = new SmtpClient(); 35 smtpClient.Host = "192.168.0.108"; //設置服務器ip地址 36 smtpClient.Port = 25; //端口號 37 //引入命名空間:using System.Net; 38 smtpClient.Credentials = new NetworkCredential("sam", "1234"); 39 //發送 40 smtpClient.Send(mailObject); 41 MessageBox.Show("ok"); 42 #endregion 43 }
