c#利用system.net發(fā)送html格式郵件
using System;
using System.Text;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
namespace LeeStudio.Basic
{
/// <summary>
/// 郵件發(fā)送類
/// </summary>
public class SendEmail
{
private MailMessage mailMessage = new MailMessage(); //實(shí)例化一個(gè)郵件類
#region 構(gòu)造函數(shù)
/// <summary>
/// 構(gòu)造函數(shù)
/// </summary>
/// <param name="toAddresses">收件人地址(多個(gè)以,號(hào)分開)</param>
/// <param name="fromAddress">發(fā)件人地址</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>
/// 構(gòu)造函數(shù)
/// </summary>
/// <param name="toAddress">收件人地址</param>
/// <param name="fromAddress">發(fā)件人地址</param>
/// <param name="toName">收件人名字</param>
/// <param name="fromName">發(fā)件人姓名</param>
/// <param name="title">主題</param>
/// <param name="body">正文</param>
/// <param name="isBodyHtml">正文是否為html格式</param>
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
/// <summary>
/// 設(shè)置SMTP,并且將郵件發(fā)送出去
/// 所有參數(shù)都設(shè)置完成后再調(diào)用該方法
/// </summary>
/// <param name="password">發(fā)件人密碼</param>
/// <param name="smtpHost">SMTP服務(wù)器地址</param>
public void SetSmtp(string password, string smtpHost)
{
SetSmtp(mailMessage.From.Address, password, smtpHost, 25, false, MailPriority.Normal);
}
/// <summary>
/// 設(shè)置SMTP,并且將郵件發(fā)送出去
/// 所有參數(shù)都設(shè)置完成后再調(diào)用該方法
/// </summary>
/// <param name="address">發(fā)件人地址(必須為真實(shí)有效的email地址)</param>
/// <param name="password">發(fā)件人密碼</param>
/// <param name="smtpHost">SMTP服務(wù)器地址</param>
/// <param name="smtpPort">SMTP服務(wù)器的端口</param>
/// <param name="isEnableSsl">SMTP服務(wù)器是否啟用SSL加密</param>
/// <param name="priority">郵件的優(yōu)先級(jí)</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); //發(fā)送郵件
}
#region //設(shè)置郵件地址
/// <summary>
/// 設(shè)置更多收件人
/// </summary>
/// <param name="toAddresses">收件人地址</param>
public void SetMoreToAddress(string toAddresses)
{
mailMessage.To.Add(toAddresses);
}
/// <summary>
/// 設(shè)置更多收件人
/// </summary>
/// <param name="toAddresses">收件人地址</param>
/// <param name="toName">收件人名字</param>
public void SetMoreToAddress(string toAddress, string toName)
{
mailMessage.To.Add(new MailAddress(toAddress, toName, Encoding.GetEncoding(936)));
}
/// <summary>
/// 設(shè)置抄送者(多個(gè)以,號(hào)分開)
/// </summary>
/// <param name="ccAddresses">抄送者地址</param>
public void SetCarbonCopyFor(string ccAddresses)
{
mailMessage.CC.Add(ccAddresses);
}
/// <summary>
/// 設(shè)置抄送者
/// </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>
/// 設(shè)置密送者(多個(gè)以,號(hào)分開)
/// </summary>
/// <param name="bccAddresses">密送者</param>
public void SetBlindCarbonCopyFor(string bccAddresses)
{
mailMessage.Bcc.Add(bccAddresses);
}
/// <summary>
/// 設(shè)置密送者
/// </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>
/// 添加附件(自動(dòng)識(shí)別文件類型)
/// </summary>
/// <param name="fileName">單個(gè)文件的路徑</param>
public void Attachments(string fileName)
{
mailMessage.Attachments.Add(new Attachment(fileName));
}
/// <summary>
/// 添加附件(默認(rèn)為富文本RTF格式)
/// </summary>
/// <param name="fileName">單個(gè)文件的路徑</param>
public void AttachmentsForRTF(string fileName)
{
mailMessage.Attachments.Add(new Attachment(fileName, MediaTypeNames.Application.Rtf));
}
#endregion
}
}
- c# 兩種發(fā)送郵件的方法
- c# 實(shí)現(xiàn)發(fā)送郵件到指定郵箱
- c# 實(shí)現(xiàn)發(fā)送郵件的功能
- C# 服務(wù)器發(fā)送郵件失敗實(shí)例分析
- C#實(shí)現(xiàn)QQ郵箱發(fā)送郵件
- C#實(shí)現(xiàn)發(fā)送郵件的方法
- C# SendMail發(fā)送郵件功能實(shí)現(xiàn)
- 通過C#實(shí)現(xiàn)發(fā)送自定義的html格式郵件
- C#實(shí)現(xiàn)的自定義郵件發(fā)送類完整實(shí)例(支持多人多附件)
- C#編程實(shí)現(xiàn)發(fā)送郵件的方法(可添加附件)
- C#實(shí)現(xiàn)發(fā)送郵件的三種方法
- c#實(shí)現(xiàn)服務(wù)器性能監(jiān)控并發(fā)送郵件保存日志
- c#調(diào)用qq郵箱smtp發(fā)送郵件修改版代碼分享
- C#調(diào)用QQ_Mail發(fā)送郵件實(shí)例代碼兩例
相關(guān)文章
C#基于Socket的網(wǎng)絡(luò)通信類你了解嗎
這篇文章主要為大家詳細(xì)介紹了C#基于Socket的網(wǎng)絡(luò)通信類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03C#使用Tesseract進(jìn)行Ocr識(shí)別的方法實(shí)現(xiàn)
本文主要介紹了C#使用Tesseract進(jìn)行Ocr識(shí)別的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06深入解析C#中的交錯(cuò)數(shù)組與隱式類型的數(shù)組
這篇文章主要介紹了深入解析C#中的交錯(cuò)數(shù)組與隱式類型的數(shù)組,隱式類型的數(shù)組通常與匿名類型以及對(duì)象初始值設(shè)定項(xiàng)和集合初始值設(shè)定項(xiàng)一起使用,需要的朋友可以參考下2016-01-01C#實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能(1)(窗體應(yīng)用)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C#設(shè)計(jì)模式之Strategy策略模式解決007大破密碼危機(jī)問題示例
這篇文章主要介紹了C#設(shè)計(jì)模式之Strategy策略模式解決007大破密碼危機(jī)問題,簡(jiǎn)單描述了策略模式的定義并結(jié)合加密解密算法實(shí)例分析了C#策略模式的具體使用方法,需要的朋友可以參考下2017-09-09C#使用委托實(shí)現(xiàn)的快速排序算法實(shí)例
這篇文章主要介紹了C#使用委托實(shí)現(xiàn)的快速排序算法,實(shí)例分析了C#委托機(jī)制與快速排序算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-07-07