c#利用system.net发送html格式邮件

这篇文章主要介绍了c#利用system.net发送html格式邮件的示例,带有抄送、密送、附件功能,需要的朋友可以参考下

复制代码 代码如下:

using System;
using System.Text;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;

namespace LeeStudio.Basic
{
///


/// 邮件发送类
///

public class SendEmail
{
private MailMessage mailMessage = new MailMessage(); //实例化一个邮件类

#region 构造函数
///


/// 构造函数
///

/// 收件人地址(多个以,号分开)
/// 发件人地址
/// 主题
/// 正文
public SendEmail(string toAddresses, string fromAddress, string title, string body)
: this(toAddresses, fromAddress, "", "", title, body, false)
{
}

///


/// 构造函数
///

/// 收件人地址
/// 发件人地址
/// 收件人名字
/// 发件人姓名
/// 主题
/// 正文
/// 正文是否为html格式
public SendEmail(string toAddress, string fromAddress, string toName, string fromName, string title, string body, bool isBodyHtml)
{
mailMessage.From = new MailAddress(fromAddress, fromName, Encoding.GetEncoding(936));
if (toName.Equals(""))
mailMessage.To.Add(toAddress);
else
mailMessage.To.Add(new MailAddress(toAddress, toName, Encoding.GetEncoding(936)));

mailMessage.Subject = title;
mailMessage.SubjectEncoding = Encoding.GetEncoding(936);

mailMessage.Body = body;
mailMessage.IsBodyHtml = isBodyHtml;
mailMessage.BodyEncoding = Encoding.GetEncoding(936);
}
#endregion

///


/// 设置SMTP,并且将邮件发送出去
/// 所有参数都设置完成后再调用该方法
///

/// 发件人密码
/// SMTP服务器地址
public void SetSmtp(string password, string smtpHost)
{
SetSmtp(mailMessage.From.Address, password, smtpHost, 25, false, MailPriority.Normal);
}

///


/// 设置SMTP,并且将邮件发送出去
/// 所有参数都设置完成后再调用该方法
///

/// 发件人地址(必须为真实有效的email地址)
/// 发件人密码
/// SMTP服务器地址
/// SMTP服务器的端口
/// SMTP服务器是否启用SSL加密
/// 邮件的优先级
public void SetSmtp(string address, string password, string smtpHost, int smtpPort, bool isEnableSsl, MailPriority priority)
{
SmtpClient smtp = new SmtpClient();
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(address, password);
smtp.Host = smtpHost;
smtp.Port = smtpPort;
smtp.EnableSsl = isEnableSsl;

mailMessage.Priority = priority;
smtp.Send(mailMessage); //发送邮件
}

#region //设置邮件地址
///


/// 设置更多收件人
///

/// 收件人地址
public void SetMoreToAddress(string toAddresses)
{
mailMessage.To.Add(toAddresses);
}

///


/// 设置更多收件人
///

/// 收件人地址
/// 收件人名字
public void SetMoreToAddress(string toAddress, string toName)
{
mailMessage.To.Add(new MailAddress(toAddress, toName, Encoding.GetEncoding(936)));
}

///


/// 设置抄送者(多个以,号分开)
///

/// 抄送者地址
public void SetCarbonCopyFor(string ccAddresses)
{
mailMessage.CC.Add(ccAddresses);
}

///


/// 设置抄送者
///

/// 抄送者地址
/// 抄送者名字
public void SetCarbonCopyFor(string ccAddress, string ccName)
{
mailMessage.Bcc.Add(new MailAddress(ccAddress, ccName, Encoding.GetEncoding(936)));
}

///


/// 设置密送者(多个以,号分开)
///

/// 密送者
public void SetBlindCarbonCopyFor(string bccAddresses)
{
mailMessage.Bcc.Add(bccAddresses);
}

///


/// 设置密送者
///

/// 密送者
/// 密送者名字
public void SetBlindCarbonCopyFor(string bccAddress, string bccName)
{
mailMessage.Bcc.Add(new MailAddress(bccAddress, bccName, Encoding.GetEncoding(936)));
}
#endregion

#region 添加附件
///


/// 添加附件(自动识别文件类型)
///

/// 单个文件的路径
public void Attachments(string fileName)
{
mailMessage.Attachments.Add(new Attachment(fileName));
}

///


/// 添加附件(默认为富文本RTF格式)
///

/// 单个文件的路径
public void AttachmentsForRTF(string fileName)
{
mailMessage.Attachments.Add(new Attachment(fileName, MediaTypeNames.Application.Rtf));
}
#endregion
}
}

以上就是c#利用system.net发送html格式邮件的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程