搭建一個郵件服務器


  本實例需下載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         }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM