一、准备工作
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("xxxxxx@qq.com"); 10 //抄送 11 message.CC.Add("xxxxxxx@qq.com"); 12 //密件抄送 13 message.Bcc.Add("xxxxxxxx@qq.com"); 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("xxxxxxxx@qq.com"); 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("xxxxxxxx@qq.com", "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 }
三、半成品运行截图