有时项目要用到邮箱验证就要发送邮件传统的解决方案:
public void SendResetPasswordEmail(string email) {
MailAddress from = new MailAddress("[email protected]", "Mercury"); //填写电子邮件地址,和显示名称
MailAddress to = new MailAddress(email, email); //填写邮件的收件人地址和名称
//设置好发送地址,和接收地址,接收地址可以是多个
MailMessage mail = new MailMessage();
mail.From = from;
mail.To.Add(to);
mail.Subject = “主题内容”;
mail.Body = "你好";
mail.IsBodyHtml = true;//设置显示htmls
//设置好发送邮件服务地址
SmtpClient client = new SmtpClient();
client.Host = "smtp.126.com";
//填写服务器地址相关的用户名和密码信息
client.Credentials = new System.Net.NetworkCredential("Service", "123456");
//发送邮件
client.Send(mail);
}
//上述的就是传统的方式,MVC3它的发送方式也大同小异,我们来看一下吧
【1】、 配置邮件发送的参数
//发送电子邮件的SMTP的服务器名称
WebMail.SmtpServer = "smtp.gmail.com";
//发送端口
WebMail.SmtpPort = 25;
//启用SSL(GMAIL需要),其他的都不需要
WebMail.EnableSsl = true;
//-----------配置
//账户名
WebMail.UserName = "hedywqy";
//邮箱名
WebMail.From = "*****@gmail.com";
//密码
WebMail.Password = "*****";
//设置默认配置
WebMail.SmtpUseDefaultCredentials = true;
----------------------------------------------------------------------
【2、发送邮件】
WebMail.Send(
to: [email protected], //指定地址
subject: "测试标题1", //标题
body: "天天开心" //内容
//cc: "抄送",
//filesToAttach: null,
//isBodyHtml: true,
//additionalHeaders: new string[] { "aaa", "bbb" }
);
总结发现使用Gmail服务器,会发送的速度会很慢大概要10S左右,所以推荐用126、163等会速度快些,我自己测试用163只用1S就接收到了。。
-------------------------------------------------------------------
下面是一些参数配置的解析:
邮件头或部分 |
Property |
附件 |
Attachments |
密件抄送 (BCC) |
Bcc |
抄送 (CC) |
CC |
内容类型 |
BodyEncoding |
自定义标头的编码 |
HeadersEncoding |
邮件正文 |
Body |
优先级别 |
Priority |
收件人 |
To |
Reply-To |
ReplyToList |
发件人 |
From |
主题 |
Subject |
部分是.NET 4.0 完整的使用。想要更多的控制权可以自己使用下面的类。
SmtpClient 类用于将电子邮件发送到 SMTP 服务器以便传递。下表中显示的类用于构造可以使用 SmtpClient 发送的电子邮件。
类 |
说明 |
Attachment |
表示文件附件。此类允许您将文件、流或文本附加到电子邮件中。 |
MailAddress |
表示发件人和收件人的电子邮件地址。 |
MailMessage |
表示电子邮件。 |