您的位置:首页 > 大数据 > 人工智能

System.Net.Mail 发送邮件(带附件)

2017-07-19 09:21 471 查看
写在前面的话:

这些天正好在做邮箱,今天空闲下来之后把之前的总结总结。

首先System.Net.Mail

使用ASP.NET发送电子邮件,需要引用System.Net.Mail命名空间。System.Net.Mail 命名空间包含用于将电子邮件发送到简单邮件传输协议 (SMTP) 服务器进行传送的类。

MailMessage:提供属性和方法来创建一个邮件消息对象,即邮件内容。

MailMessage类:

From:发送邮件的地址

To:接收邮件的地址

Subject:邮件的标题

Priority:邮件的优先级(分别为为High,Low,Normal)

Attachments:电子邮件的数据的附件集合

Bcc:密送地址

Cc:抄送地址

Body:邮件正文

SubjectEncoding:电子邮件的主题内容使用的编码

IsBodyHtml:邮件正文是否为 Html 格式的值

Attachment:提供属性和方法来创建一个邮件附件对象,即邮件附件。

SmtpClient:将电子邮件传输到您指定用于邮件传送的 SMTP 主机。

SmtpClient类:

DeliveryMethod:指定如何处理待发的电子邮件

Host:SMTP 事务的主机的名称或 IP 地址

Credentials:设置用于验证发件人身份的凭据

这里就简单的介绍常用的几个类,需要了解更多可自行百度。

下面不带附件的邮件发送方法,调用直接按照注释传参即可。

#region
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="mailTo">要发送的邮箱</param>
/// <param name="mailSubject">邮箱主题</param>
/// <param name="mailContent">邮箱内容</param>
/// <returns>返回发送邮箱的结果</returns>
public static bool SendEmail(string mailTo,string mailSubject,string mailContent)
{
// 设置发送方的邮件信息,例如使用网易的smtp
string smtpServer = "smtp.163.com"; //SMTP服务器
string mailFrom = "XXX@163.com"; //登陆用户名
string userPassword = "XXX";//登陆密码

// 邮件服务设置
SmtpClient smtpClient=new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = smtpServer; //指定SMTP服务器
smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码

// 发送邮件设置
MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
mailMessage.Subject = mailSubject;//主题
mailMessage.Body = mailContent;//内容
mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
mailMessage.IsBodyHtml = true;//设置为HTML格式
mailMessage.Priority = MailPriority.Low;//优先级

try
{
smtpClient.Send(mailMessage); // 发送邮件
return true;
}
catch (SmtpException ex)
{
return false;
}
}


需要注意的是,如果是用qq服务器 个人账号需要一个授权码,具体打开方式 也可百度

则需要加上三行代码

SmtpClient .EnableSsl = true;
SmtpClient .UseDefaultCredentials = false;
SmtpClient .Credentials = new System.Net.NetworkCredential("你得qq邮箱", "你得授权码");


需要带附件,则加上以下代码。

Attachment amen = new Attachment(System.Web.HttpContext.Current.Server.MapPath(文件路径));
mailMessage.Attachments.Add(amen);


到此,发送邮箱所有内容介绍完毕。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息