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;