C#實現簡單的郵件發送功能


     唉,最近要做一個項目,里面需要實現郵件發送功能。在網絡上也找一些看,自己也隨便寫下。也當做是給自己復習下吧,如有不對之處還請大家指出。謝謝!

     首先我是創建一個實體對象Model (EmailParameterSet) :

 1  public  class EmailParameterSet
 2     {
 3         /// <summary>
 4         /// 收件人的郵件地址 
 5         /// </summary>
 6         public string ConsigneeAddress { get; set; }
 7 
 8         /// <summary>
 9         /// 收件人的名稱
10         /// </summary>
11         public string ConsigneeName { get; set; }
12 
13         /// <summary>
14         /// 收件人標題
15         /// </summary>
16         public string ConsigneeHand { get; set; }
17 
18         /// <summary>
19         /// 收件人的主題
20         /// </summary>
21         public string ConsigneeTheme { get; set; }
22 
23         /// <summary>
24         /// 發件郵件服務器的Smtp設置
25         /// </summary>
26         public string SendSetSmtp { get; set; }
27 
28         /// <summary>
29         /// 發件人的郵件
30         /// </summary>
31         public string SendEmail { get; set; }
32 
33         /// <summary>
34         /// 發件人的郵件密碼
35         /// </summary>
36         public string SendPwd { get; set; }
37         /// <summary>
38         /// 發件內容
39         /// </summary>
40         public string SendContent { get; set; }
41     }

方法也簡單  如果發送成功就返回一個bool值 

 

 1  public bool MailSend(EmailParameterSet EPSModel ) 
 2         {
 3             try
 4             {
 5                 //確定smtp服務器端的地址,實列化一個客戶端smtp 
 6                 System.Net.Mail.SmtpClient sendSmtpClient = new System.Net.Mail.SmtpClient(EPSModel.SendSetSmtp);//發件人的郵件服務器地址
 7                 //構造一個發件的人的地址
 8                 System.Net.Mail.MailAddress sendMailAddress = new MailAddress(EPSModel.SendEmail, EPSModel.ConsigneeHand, Encoding.UTF8);//發件人的郵件地址和收件人的標題、編碼
 9 
10                 //構造一個收件的人的地址
11                 System.Net.Mail.MailAddress consigneeMailAddress = new MailAddress(EPSModel.ConsigneeAddress, EPSModel.ConsigneeName, Encoding.UTF8);//收件人的郵件地址和收件人的名稱 和編碼
12 
13                 //構造一個Email對象
14                 System.Net.Mail.MailMessage mailMessage = new MailMessage(sendMailAddress, consigneeMailAddress);//發件地址和收件地址
15                 mailMessage.Subject = EPSModel.ConsigneeTheme;//郵件的主題
16                 mailMessage.BodyEncoding = Encoding.UTF8;//編碼
17                 mailMessage.SubjectEncoding = Encoding.UTF8;//編碼
18                 mailMessage.Body = EPSModel.SendContent;//發件內容
19                 mailMessage.IsBodyHtml = false;//獲取或者設置指定郵件正文是否為html
20 
21                 //設置郵件信息 (指定如何處理待發的電子郵件)
22                 sendSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定如何發郵件 是以網絡來發
23                 sendSmtpClient.EnableSsl = false;//服務器支持安全接連,安全則為true
24 
25                 sendSmtpClient.UseDefaultCredentials = false;//是否隨着請求一起發
26 
27                 //用戶登錄信息
28                 NetworkCredential myCredential = new NetworkCredential(EPSModel.SendEmail, EPSModel.SendPwd);
29                 sendSmtpClient.Credentials = myCredential;//登錄
30                 sendSmtpClient.Send(mailMessage);//發郵件
31                 return true;//發送成功
32             }
33             catch (Exception)
34             {
35                 return false;//發送失敗
36             }
37         }

然后就調用就可以。

 1   private void button3_Click(object sender, EventArgs e)
 2         {
 3             EmailParameterSet model = new EmailParameterSet();
 4             model.SendEmail = whise3@163.com;
 5             model.SendPwd = "xxx";//密碼
 6             model.SendSetSmtp = "smtp.163.com";//發送的SMTP服務地址 ,每個郵箱的是不一樣的。。根據發件人的郵箱來定
 7             model.ConsigneeAddress = likeeg@126.com;
 8             model.ConsigneeTheme = "主題";
 9             model.ConsigneeHand = "標題";
10             model.ConsigneeName = "xxx";
11             model.SendContent = "htpp://www.baidu.com";
12             if (MailSend(model)== true)
13             {
14                 MessageBox.Show("郵件發送成功!");
15             }
16             else
17             {
18                 MessageBox.Show("郵件發送失敗!");
19             }
20         }

 

 


免責聲明!

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



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