程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用C#發送電子郵件(1)

使用C#發送電子郵件(1)

編輯:關於C語言

前幾天學生問怎樣用C#發送電子郵件,網上文章很多,隨手找了一篇,給學生,讓他自己去看下。結果,搞了一天沒有搞定,只好來仔細看一下。用C#發送電子郵件,網上介紹的很多文章都是使用SmtpClIEnt,也有System.Web.Mail ,但是,System.Web.Mail 已經是不推薦使用的了。以下是在網上常見的一種發送電子郵件的代碼:

1 MailMessage MyEmilMessage=new MailMessage();
2 string attachFile; //用於構造附件的字符串變量
3
4 MyEmailMessage.From="[email protected]";
5 MyEmailMessage.To="[email protected];[email protected]";
6 MyEmailMessage.Subject="郵件發送的一個簡單例子";
7 MyEmailMessage.body="貓王呼叫耗子,收到請回答!!!";
8 MyEmailMessage.BodyFormat=MailFormat.Text;
9 MyEmailMessage.Priority=MailPriority.High;
10
11 //構造添加附件
12 attachFile=@"D:\test\test.txt";
13 MailAttachment mailAttach=new MailAttachment(attachFile);
14 MyEmailMessage.Attachments.Add(mailAttach);
15
16 //發送電子郵件
17 SmtpMail.SmtpServer="發送電子郵件的SMTP地址或者IP";// 指定smtp服務器
18 SmtpMail.Send(MyEmailMessage);//發送電子郵件
19

這些代碼基本上都沒有任何錯誤,編譯也都會通過,但是,如果使用這種方式發送,基本上可以保證,你的電子郵件發送不成功。然後,這裡是缺少身份驗證,而且比較麻煩就是這個身份驗證。下面是我給學生寫的一個示例:

1           string mailContent="郵件內容";
 2
 3            MailMessage msg = new System.Net.Mail.MailMessage();
 4            msg.To.Add("******@gmail.com"); //收件人
 5
 6            //發件人信息
 7            msg.From = new MailAddress("*****@gmail.com", "發送人姓名", System.Text.Encoding.UTF8);
 8            msg.Subject = "這是測試郵件";   //郵件標題
 9            msg.SubjectEncoding = System.Text.Encoding.UTF8;    //標題編碼
10            msg.Body = mailContent; //郵件主體
11            msg.BodyEncoding = System.Text.Encoding.UTF8;
12            msg.IsBodyHtml = true;  //是否Html
13            msg.Priority = MailPriority.High;   //優先級
14
15            SmtpClient client = new SmtpClient();
16            //設置GMail郵箱和密碼 
17            clIEnt.Credentials = new System.Net.NetworkCredential("帳號@gmail.com", "密碼");
18            client.Port = 587;
19            client.Host = "smtp.gmail.com";
20            client.EnableSsl = true;
21            object userState = msg;
22            try
23            {
24                clIEnt.Send(msg);
25                MessageBox.Show("發送成功");
26            }
27            catch (Exception ex)
28            {
29                MessageBox.Show(ex.Message, "發送郵件出錯");
30            } 
31
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved