C#使用MailAddress類發(fā)送html格式郵件的實例代碼
1.首先引入命名空間using System.Net.Mail;
2.將發(fā)送的郵件的功能封裝成一個類,該類中包含了發(fā)送郵件的基本功能:收件人(多人),抄送(多人),發(fā)送人,主題,郵件正文,附件等,封裝的Email類如下:
public class Email
{
/// <summary>
/// 發(fā)送者
/// </summary>
public string mailFrom { get; set; }
/// <summary>
/// 收件人
/// </summary>
public string[] mailToArray { get; set; }
/// <summary>
/// 抄送
/// </summary>
public string[] mailCcArray { get; set; }
/// <summary>
/// 標題
/// </summary>
public string mailSubject { get; set; }
/// <summary>
/// 正文
/// </summary>
public string mailBody { get; set; }
/// <summary>
/// 發(fā)件人密碼
/// </summary>
public string mailPwd { get; set; }
/// <summary>
/// SMTP郵件服務(wù)器
/// </summary>
public string host { get; set; }
/// <summary>
/// 正文是否是html格式
/// </summary>
public bool isbodyHtml { get; set; }
/// <summary>
/// 附件
/// </summary>
public string[] attachmentsPath { get; set; }
public bool Send()
{
//使用指定的郵件地址初始化MailAddress實例
MailAddress maddr = new MailAddress(mailFrom);
//初始化MailMessage實例
MailMessage myMail = new MailMessage();
//向收件人地址集合添加郵件地址
if (mailToArray != null)
{
for (int i = 0; i < mailToArray.Length; i++)
{
myMail.To.Add(mailToArray[i].ToString());
}
}
//向抄送收件人地址集合添加郵件地址
if (mailCcArray != null)
{
for (int i = 0; i < mailCcArray.Length; i++)
{
myMail.CC.Add(mailCcArray[i].ToString());
}
}
//發(fā)件人地址
myMail.From = maddr;
//電子郵件的標題
myMail.Subject = mailSubject;
//電子郵件的主題內(nèi)容使用的編碼
myMail.SubjectEncoding = Encoding.UTF8;
//電子郵件正文
myMail.Body = mailBody;
//電子郵件正文的編碼
myMail.BodyEncoding = Encoding.Default;
myMail.Priority = MailPriority.High;
myMail.IsBodyHtml = isbodyHtml;
//在有附件的情況下添加附件
try
{
if (attachmentsPath != null && attachmentsPath.Length > 0)
{
Attachment attachFile = null;
foreach (string path in attachmentsPath)
{
attachFile = new Attachment(path);
myMail.Attachments.Add(attachFile);
}
}
}
catch (Exception err)
{
throw new Exception("在添加附件時有錯誤:" + err);
}
SmtpClient smtp = new SmtpClient();
//指定發(fā)件人的郵件地址和密碼以驗證發(fā)件人身份
smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd);
//設(shè)置SMTP郵件服務(wù)器
smtp.Host = host;
try
{
//將郵件發(fā)送到SMTP郵件服務(wù)器
smtp.Send(myMail);
return true;
}
catch (System.Net.Mail.SmtpException ex)
{
return false;
}
}
}
3.頁面調(diào)用發(fā)送郵件的類
protected void Send_Click(object sender, EventArgs e)
{
Email email = new Email();
email.mailFrom = "發(fā)送人的郵箱地址";
email.mailPwd = "發(fā)送人郵箱的密碼";
email.mailSubject = "郵件主題";
email.mailBody = "郵件內(nèi)容";
email.isbodyHtml = true; //是否是HTML
email.host = "smtp.126.com";//如果是QQ郵箱則:smtp:qq.com,依次類推
email.mailToArray = new string[] { "******@qq.com","12345678@qq.com"};//接收者郵件集合
email.mailCcArray = new string[] { "******@qq.com" };//抄送者郵件集合
if (email.Send())
{
Response.Write("<script type='text/javascript'>alert('發(fā)送成功!');history.go(-1)</script>");//發(fā)送成功則提示返回當前頁面;
}
else
{
Response.Write("<script type='text/javascript'>alert('發(fā)送失??!');history.go(-1)</script>");
}
}
相關(guān)文章
C#編程中使用ref和out關(guān)鍵字來傳遞數(shù)組對象的用法
這篇文章主要介紹了C#編程中使用ref和out關(guān)鍵字來傳遞數(shù)組對象的用法,在C#中數(shù)組也是對象可以被傳遞,需要的朋友可以參考下2016-01-01WinForm通過操作注冊表實現(xiàn)限制軟件使用次數(shù)的方法
這篇文章主要介紹了WinForm通過操作注冊表實現(xiàn)限制軟件使用次數(shù)的方法,結(jié)合實例形式分析了WinForm操作注冊表的原理、步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-06-06Unity利用材質(zhì)自發(fā)光實現(xiàn)物體閃爍
這篇文章主要為大家詳細介紹了Unity利用材質(zhì)自發(fā)光實現(xiàn)物體閃爍,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04使用 BenchmarkDotNet 對 C# 代碼進行基準測試
這篇文章主要介紹了使用 BenchmarkDotNet 對 C# 代碼進行基準測試,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下2021-03-03DevExpress設(shè)置餅狀圖的Lable位置實例
這篇文章主要介紹了DevExpress設(shè)置餅狀圖的Lable位置的方法,以實例形式詳細講述了設(shè)置餅狀圖的Lable位置具體實現(xiàn)過程,需要的朋友可以參考下2014-10-10unity 文件流讀取圖片與www讀取圖片的區(qū)別介紹
這篇文章主要介紹了unity 文件流讀取圖片與www讀取圖片的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04