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

c#利用system.net发送html格式邮件,第1张

概述复制代码代码如下:usingSystem;usingSystem.Text;usingSystem.Net;usingSystem.Net.Mail;usingSystem.Net.Mime;

复制代码 代码如下:
using System;
using System.Text;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;

namespace LeeStudio.Basic
{
/// <summary>
/// 邮件发送
/// </summary>
public class SendEmail
{
private MailMessage mailMessage = new MailMessage(); //实例化一个邮件类

#region 构造函数
/// <summary>
/// 构造函数
/// </summary>
/// <param name="toAddresses">收件人地址(多个以,号分开)</param>
/// <param name="fromAddress">发件人地址</param>
/// <param name="Title">主题</param>
/// <param name="body">正文</param>
public SendEmail(string toAddresses,string fromAddress,string Title,string body)
: this(toAddresses,fromAddress,"",Title,body,false)
{
}

/// <summary>
/// 构造函数
/// </summary>
/// <param name="toAddress">收件人地址</param>
/// <param name="fromAddress">发件人地址</param>
/// <param name="toname">收件人名字</param>
/// <param name="fromname">发件人姓名</param>
/// <param name="Title">主题</param>
/// <param name="body">正文</param>
/// <param name="isBodyHTML">正文是否为HTML格式</param>
public SendEmail(string toAddress,string toname,string fromname,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

/// <summary>
/// 设置SMTP,并且将邮件发送出去
/// 所有参数都设置完成后再调用该方法
/// </summary>
/// <param name="password">发件人密码</param>
/// <param name="smtpHost">SMTP服务器地址</param>
public voID SetSmtp(string password,string smtpHost)
{
SetSmtp(mailMessage.From.Address,password,smtpHost,25,false,MailPriority.normal);
}

/// <summary>
/// 设置SMTP,并且将邮件发送出去
/// 所有参数都设置完成后再调用该方法
/// </summary>
/// <param name="address">发件人地址(必须为真实有效的email地址)</param>
/// <param name="password">发件人密码</param>
/// <param name="smtpHost">SMTP服务器地址</param>
/// <param name="smtpPort">SMTP服务器的端口</param>
/// <param name="isEnableSsl">SMTP服务器是否启用SSL加密</param>
/// <param name="priority">邮件的优先级</param>
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 //设置邮件地址
/// <summary>
/// 设置更多收件人
/// </summary>
/// <param name="toAddresses">收件人地址</param>
public voID SetMoretoAddress(string toAddresses)
{
mailMessage.To.Add(toAddresses);
}

/// <summary>
/// 设置更多收件人
/// </summary>
/// <param name="toAddresses">收件人地址</param>
/// <param name="toname">收件人名字</param>
public voID SetMoretoAddress(string toAddress,string toname)
{
mailMessage.To.Add(new MailAddress(toAddress,EnCoding.GetEnCoding(936)));
}

/// <summary>
/// 设置抄送者(多个以,号分开)
/// </summary>
/// <param name="ccAddresses">抄送者地址</param>
public voID SetCarboncopyFor(string ccAddresses)
{
mailMessage.CC.Add(ccAddresses);
}

/// <summary>
/// 设置抄送者
/// </summary>
/// <param name="ccAddress">抄送者地址</param>
/// <param name="ccname">抄送者名字</param>
public voID SetCarboncopyFor(string ccAddress,string ccname)
{
mailMessage.Bcc.Add(new MailAddress(ccAddress,ccname,EnCoding.GetEnCoding(936)));
}

/// <summary>
/// 设置密送者(多个以,号分开)
/// </summary>
/// <param name="bccAddresses">密送者</param>
public voID SetBlindCarboncopyFor(string bccAddresses)
{
mailMessage.Bcc.Add(bccAddresses);
}

/// <summary>
/// 设置密送者
/// </summary>
/// <param name="bccAddress">密送者</param>
/// <param name="bccname">密送者名字</param>
public voID SetBlindCarboncopyFor(string bccAddress,string bccname)
{
mailMessage.Bcc.Add(new MailAddress(bccAddress,bccname,EnCoding.GetEnCoding(936)));
}
#endregion

#region 添加附件
/// <summary>
/// 添加附件(自动识别文件类型)
/// </summary>
/// <param name="filename">单个文件的路径</param>
public voID Attachments(string filename)
{
mailMessage.Attachments.Add(new Attachment(filename));
}

/// <summary>
/// 添加附件(默认为富文本RTF格式)
/// </summary>
/// <param name="filename">单个文件的路径</param>
public voID AttachmentsForRTF(string filename)
{
mailMessage.Attachments.Add(new Attachment(filename,MediaTypenames.Application.Rtf));
}
#endregion
}
}

总结

以上是内存溢出为你收集整理的c#利用system.net发送html格式邮件全部内容,希望文章能够帮你解决c#利用system.net发送html格式邮件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1254586.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存