ASP.NET发送电子邮件
注:本博文主要讲的是以SMTP 协议下的邮件发送
SMTP
SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
发送邮件方式:
1、发送文本邮件(可能带有附件)
2、发送HTML邮件(可能带有附件)
发送邮件所要用到的类:
1、SmtpClient 类用于将电子邮件发送到 SMTP 服务器以便传递
2、MailMessage 类的实例用于构造可使用 SmtpClient 类传输到 SMTP 服务器以便传递的电子邮件
3、Attachment类的实例用于构造电子邮件的附件
SmtpClient:
1 SmtpClient smtpClient = new SmtpClient(); 2 smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 3 smtpClient.Credentials = new System.Net.NetworkCredential("你的邮件账户", "你的邮件密码"); 4 smtpClient.Host = smtp.qq.com;//指定发送的服务器 5 smtpClient.Port = 25;//指定端口号 6 smtpClient.EnableSsl = true;//是否使用SSL加密 7 smtpClient.Timeout = 100 * 1000;//设置超时时间(默认100秒)
MailMessage :
MailMessage mailMessage = new MailMessage(); //发送人地址 MailAddress mailAddressFrom = new MailAddress("发送地址", "别名");//如:你好<hello@qq.com> mailMessage.From = mailAddressFrom; //接收人(可能有多个) foreach (MailAddress mailAddress in MailTo) { mailMessage.To.Add(mailAddress.Address); } mailMessage.Subject = Subject;//标题 if (!IsBodyHtml) mailMessage.Body = MailBody;//内容 mailMessage.BodyEncoding = Encoding.UTF8;//内容编码 //抄送(可能多个) foreach (MailAddress mailAddress in MailCc) { mailMessage.CC.Add(mailAddress.Address); } //内容是否为HTML mailMessage.IsBodyHtml = IsBodyHtml;