asp.net发送邮件
要完成发送邮件,需要添加 System.Net.Mail命名控件,主要使用到了以下几个类:
1、MailMessage类,构建邮件
2、MailAttachment类,构造邮件附件
3、SmtpMail类,提供邮件服务主要使用MailMessage类下的属性用了构造一封邮件此类主要有以下属性和方法
From :发件人邮箱地址
To:以分号为分隔收件人的邮箱地址
CC:以分号为隔开的抄送的收件人的邮件地址列表
BCC:密抄邮箱列表
Subject:邮件的主题
Body:邮件的正文
BodyFormat :邮件的正文内容类型,由MailFormat枚举值指定,MailFormat.Text或MailFormat.Html
Attachments: 邮件附件集合
Priority: 邮件的优先级,由MailPriority枚举值指定,可以是MailPriority.Low ,MailPriority.Normal或MailPriority.High三者之一
4、Attachment用来构造电子邮件附件.用此类构造了电子邮件附件然后添加到MailMessage对象的Attachments集合即可
5、使用SmtpMail类发送电子邮件,可以通过系统本身的SMTP邮件服务或者其它SMTP服务器来发送,发送电子邮件首先需要设置SmtpMail类的SmtpServer属性,然后使用Send方法发送就可以了
简单的例子:
1 /// <summary> 2 /// 发送邮件测试 3 /// </summary> 4 /// <returns>true/false</returns> 5 6 //发送邮件 7 public bool sendMail() 8 { 9 System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 10 mail.From = "fly0236@126.com"; 11 mail.To = "fly02360@126.com"; 12 mail.Subject = "发送邮件测试"; 13 mail.Body = "这是一封内部的测试邮件"; 14 mail.BodyFormat = MailFormat.Html; 15 //邮件内容编码 16 mail.BodyEncoding = System.Text.Encoding.UTF8; 17 18 //构造添加附件(可以发多个附件给多个收件人) 19 System.Web.Mail.MailAttachment mailAttach_1 = new System.Web.Mail.MailAttachment(MapPath("~/kb/atachment/数据统计1.doc")); 20 System.Web.Mail.MailAttachment mailAttach_2 = new System.Web.Mail.MailAttachment(MapPath("~/kb/atachment/数据统计2.doc")); 21 System.Web.Mail.MailAttachment mailAttach_3 = new System.Web.Mail.MailAttachment(MapPath("~/kb/atachment/数据统计3.doc")); 22 mail.Attachments.Add(mailAttach_1); 23 mail.Attachments.Add(mailAttach_2); 24 mail.Attachments.Add(mailAttach_3); 25 // 设置邮件服务器 26 SmtpMail.SmtpServer = "smtp.126.com"; 27 //设置是否需要验证 28 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); 29 //发件人邮箱用户名 30 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "aminta"); 31 //发件人邮箱密码 32 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456"); 33 34 try 35 { 36 SmtpMail.Send(mail); 37 return true; 38 } 39 catch 40 { 41 return false; 42 } 43 }