一、準備工作 1.要想編寫一個發送郵件的小工具,首先得瞭解以下內容: 收件人:這封郵件的接收人,郵件發送者溝通交流的對象。 抄送:這封郵件的接收人,郵件發送者希望被抄送者瞭解郵件內容。 密件抄送:這封郵件的接收人,與抄送的唯一區別就是它能夠讓各個收件人無法查看到這封郵件同時還發送給了哪些人。 郵件主 ...
一、準備工作
1.要想編寫一個發送郵件的小工具,首先得瞭解以下內容:
- 收件人:這封郵件的接收人,郵件發送者溝通交流的對象。
- 抄送:這封郵件的接收人,郵件發送者希望被抄送者瞭解郵件內容。
- 密件抄送:這封郵件的接收人,與抄送的唯一區別就是它能夠讓各個收件人無法查看到這封郵件同時還發送給了哪些人。
- 郵件主題:簡述郵件內容。
- 文本內容:郵件的主要內容。
- 附件:與電子郵件附在一起傳送至對方郵箱的文件。
- 發件人:郵件的發送者。
2.其次是準備好一個郵箱,我們得對郵箱做一些設置。
本次使用163郵箱來距離,因為用到了smtp協議,所以得保證這個郵箱的smtp服務是開啟的。具體操作從以下文檔得到http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html。
3.除此之外,我們還需開通一個客戶端授權密碼:
到此我們的準備工作告一段落。
二、編寫代碼
1.初始化一個郵件類併進行相應賦值
1 /// <summary> 2 /// 郵件信息 3 /// </summary> 4 /// <returns></returns> 5 private System.Net.Mail.MailMessage MailInfo() 6 { 7 System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); 8 //收件人 9 message.To.Add("[email protected]"); 10 //抄送 11 message.CC.Add("[email protected]"); 12 //密件抄送 13 message.Bcc.Add("[email protected]"); 14 message.Subject = "郵件主題"; 15 message.Body = "這裡是郵件正文"; 16 message.BodyEncoding = Encoding.UTF8; 17 message.Attachments.Add(new System.Net.Mail.Attachment("附件.txt")); 18 //優先順序 19 message.Priority = System.Net.Mail.MailPriority.High; 20 //發件人 21 message.From = new System.Net.Mail.MailAddress("[email protected]"); 22 return message; 23 }
2.發送郵件
1 /// <summary> 2 /// 發送郵件 3 /// </summary> 4 private void SmtpSend() 5 { 6 System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); 7 client.Host = "smtp.163.com"; 8 client.Port = 25; 9 client.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 10 client.EnableSsl = true; 11 client.DeliveryFormat = System.Net.Mail.SmtpDeliveryFormat.SevenBit; 12 client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 13 client.Send(MailInfo()); 14 }
三、半成品運行截圖