asp.net html邮件,ASP.NET实现发送邮件|C# SMTP客户端类

0x01 C#中通常发送邮件的方法

在C#/ASP.NET中,发送邮件经常用的就是SmtpClient类和MailMessage类,该类能够通过其方法轻松的对目标SMTP服务器发送relay请求,从而使得我们的邮件能够发送给对方。这个功能尤其在ASP.NET网站开发的时候经常会用到。比如,我们需要为网站实现发送验证邮件的功能的时候,需要用到发送邮件的功能。

下面将介绍这两个类,其中SmtpClient类用于发送邮件,MailMessage类用于设置邮件的内容。

0x02 MailMessage类的使用方法

构造MailMessage对象MailMessage mailMessage = new MailMessage(mailFrom, mailTo);

其中,mailFrom为自己的邮箱地址,mailTo为收件人的邮箱地址。

设置属性mailMessage.Subject = mailSubject;//设置邮件主题

mailMessage.Body = content;//设置邮件内容

mailMessage.BodyEncoding = Encoding.UTF8;//正文编码格式(一般用UTF8从而防止中文乱码)

mailMessage.IsBodyHtml = true;//设置为HTML格式(为true可以发送HTML格式的邮件,可以显示的更加美观)

mailMessage.Priority = MailPriority.Low;//优先级

0x03 SmtpClient类的用法

构造SmtpClient类SmtpClient smtpClient = new SmtpClient();

设置SmtpClient属性smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; //指定电子邮件发送方式

smtpClient.Host = smtpServer; //指定SMTP服务器

smtpClient.Credentials = new System.Net.NetworkCredential(username, userPassword); //指定登录用户名和密码

发送邮件smtpClient.Send(mailMessage);

0x04 封装一个发送邮件类

using System.Linq;

using System;

using System.Net.Mail;

using System.Text;

///

///SendMail 的摘要说明

///

public class SendMail

{

public static bool SendEmail(string mailTo, string mailSubject, string content)

{

// 设置发送方的邮件信息

string smtpServer = "smtp.xxx.com"; //SMTP服务器

string mailFrom = "xxx@xxx.com"; //邮箱名

string username = "xxx"; //登陆用户名

string userPassword = "xxxxxx";//登陆密码

// 邮件服务设置

SmtpClient smtpClient = new SmtpClient();

smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式

smtpClient.Host = smtpServer; //指定SMTP服务器

smtpClient.Credentials = new System.Net.NetworkCredential(username, userPassword);//用户名和密码

// 发送邮件设置

MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人

mailMessage.Subject = mailSubject;//主题

mailMessage.Body = content;//内容

mailMessage.BodyEncoding = Encoding.UTF8;//正文编码

mailMessage.IsBodyHtml = true;//设置为HTML格式

mailMessage.Priority = MailPriority.Low;//优先级

try

{

smtpClient.Send(mailMessage); // 发送邮件

return true;

}

catch (SmtpException ex)

{

return false;

}

}

}

创建好上述类之后就可以通过以下方法调用函数了。SendMail.SendEmail("xxx@xxx.com","sub","content");