|
/// <summary>
/// 發(fā)送郵件 /// </summary> /// <param name="MailFromAddress">發(fā)件人地址</param> /// <param name="MailFromUserName">用戶名</param> /// <param name="MailFormPwd">密碼</param> /// <param name="MailTitle">郵件標(biāo)題</param> /// <param name="MailBody">郵件內(nèi)容</param> /// <param name="MailTo">收件人地址</param> /// <returns>發(fā)送成功返回True否則返回False</returns> public static Boolean SendMail(string MailFromAddress, string MailFormPwd, string MailTitle, string MailBody, string MailTo) { try { MailMessage objMail = new MailMessage(); //發(fā)件人地址 objMail.From = new MailAddress(MailFromAddress); //郵件標(biāo)題 objMail.Subject = MailTitle; //郵件標(biāo)題編碼 objMail.SubjectEncoding = System.Text.Encoding.UTF8; //郵件內(nèi)容 objMail.Body = MailBody; //郵件內(nèi)容編碼 objMail.BodyEncoding = System.Text.Encoding.UTF8; //收件人地址在這里可以加多個(gè) objMail.To.Add(MailTo); //用SMTP發(fā)送郵件的方式 SmtpClient client = new SmtpClient(); //用戶名和密碼 client.Credentials = new System.Net.NetworkCredential(MailFromAddress, MailFormPwd); string StrMail = ""; for (int i = 0; i < MailFromAddress.Length; i++) { if (MailFromAddress.Substring(i, 1).ToString().Trim() == "@") { StrMail = MailFromAddress.Substring(i + 1, MailFromAddress.Length - i - 1); } } //服務(wù)器名 client.Host = "smtp." + StrMail.ToString().Trim(); //發(fā)送 client.Send(objMail); return true; } catch (Exception) { return false; } }
使用的方法也很簡單
MailMessage objMail = new MailMessage(); //發(fā)件人地址 objMail.From = new MailAddress(txtForm.Text.ToString().Trim()); //郵件標(biāo)題 objMail.Subject = txttitle.Text.ToString().Trim(); //郵件標(biāo)題編碼 objMail.SubjectEncoding = System.Text.Encoding.UTF8; //郵件內(nèi)容 objMail.Body = txtBody.Text.ToString().Trim(); //郵件內(nèi)容編碼 objMail.BodyEncoding = System.Text.Encoding.UTF8; //收件人地址在這里可以加多個(gè) objMail.To.Add(txtTO.Text.ToString().Trim()); //用SMTP發(fā)送郵件的方式 SmtpClient client = new SmtpClient(); //用戶名和密碼 client.Credentials = new System.Net.NetworkCredential(txtForm.Text.ToString().Trim(), txtPwd.Text.ToString().Trim()); //服務(wù)器名 client.Host = "SMTP.163.com"; //發(fā)送 client.Send(objMail); 里面的MailMessage 大家自己寫一下吧就是一個(gè)簡單的實(shí)體類沒什么特別之處 在這里呢多給大家提供兩個(gè)發(fā)送郵件的類方法吧,大家可以做為參考 using System; using System.Web.Mail; using System.Collections; /**/ /// <summary> /// 支持批量(發(fā)送、抄送、密送) /// 支持多語言、帶多個(gè)附件 /// 支持smtp發(fā)送郵件服務(wù)器驗(yàn)證 /// </summary> public class DotNetSendMail { public DotNetSendMail() { } /**/ /// <summary> /// 郵件發(fā)送結(jié)果。如果發(fā)送過程出現(xiàn)錯(cuò)誤,該值為捕獲到的異常提示;否則,該值為“OK”。 /// </summary> public string SendMailResult { get { return this.m_SendMailResult; } set { this.m_SendMailResult = value; } } private string m_SendMailResult; /**/ /// <summary> /// 抄送地址,多個(gè)以逗號(hào)隔開 /// </summary> public string Cc { set { this.m_Cc = value; } } private string m_Cc; /**/ /// <summary> /// 密送地址,多個(gè)以逗號(hào)隔開 /// </summary> public string Bcc { set { this.m_Bcc = value; } } private string m_Bcc; /**/ /// <summary> /// 郵件格式??梢再x值為“1”或“2”,“1”表示Html格式,“2”表示Text格式。 /// </summary> public int BodyFormat { set { this.m_BodyFormat = value; } } private int m_BodyFormat = 1; /**/ /// <summary> /// 郵件格式??梢再x值為“1”、“2”或“3”。 ///“1”表示不緊急郵件,“2”表示普通郵件, “3”表示緊急郵件 /// </summary> public int MailPriority { set { this.m_MailPriority = value; } } private int m_MailPriority = 2; /**/ /// <summary> /// 附件地址列表,用該屬性Add方法加入多個(gè)附件,附件地址必須是絕對(duì)路徑 /// </summary> public ArrayList AttachFiles { get { return this.m_AttachFiles; } set { this.m_AttachFiles = value; } } ArrayList m_AttachFiles = new ArrayList(); /**/ /// <summary> /// 發(fā)送郵件方法,方法中幾個(gè)參數(shù)是發(fā)郵件時(shí)所必須的 /// </summary> /// <param name="p_From">發(fā)件人</param> /// <param name="p_To">郵件人,多個(gè)收件人逗號(hào)隔開</param> /// <param name="p_Subject">郵件標(biāo)題</param> /// <param name="p_Body">正文</param> /// <param name="p_SmtpServer">發(fā)送郵件服務(wù)器</param> /// <param name="p_SmtpUsername">發(fā)件服務(wù)器登錄名</param> /// <param name="p_SmtpPassword">發(fā)件服務(wù)器登錄密碼</param> /// <returns></returns> public bool SendMail(string p_From, string p_To, string p_Subject, string p_Body, string p_SmtpServer, string p_SmtpUsername, string p_SmtpPassword) { try { System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage(); mail.From = p_From; mail.To = p_To; mail.Subject = p_Subject; mail.Body = p_Body; SmtpMail.SmtpServer = p_SmtpServer; //郵件服務(wù)器驗(yàn)證,需要輸入您在郵件發(fā)送服務(wù)器上注冊(cè)的郵箱用戶名和密碼 if (p_SmtpUsername != "") { mail.Fields.Add(" mail.Fields.Add(" mail.Fields.Add(" } //以上是發(fā)郵件時(shí)所必需的,下面是額外的一些功能設(shè)置 if (this.m_Cc != "") { mail.Cc = this.m_Cc; } if (this.m_Bcc != "") { mail.Bcc = this.m_Bcc; } switch (this.m_BodyFormat) { case 1: mail.BodyFormat = MailFormat.Html; break; case 2: mail.BodyFormat = MailFormat.Text; break; default: break; } switch (this.m_MailPriority) { case 1: mail.Priority = System.Web.Mail.MailPriority.Low; break; case 2: mail.Priority = System.Web.Mail.MailPriority.Normal; break; case 3: mail.Priority = System.Web.Mail.MailPriority.High; break; default: break; } if (this.m_AttachFiles.Count > 0) { foreach (string file in m_AttachFiles) { if (file.Trim() != "") { mail.Attachments.Add(new MailAttachment(file.Trim())); } } } SmtpMail.Send(mail); this.m_SendMailResult = "OK"; return true; } catch (Exception ex) { this.m_SendMailResult = ex.ToString(); return false; } } } 下面還有一個(gè)我個(gè)人最喜歡這個(gè)
using System; using System.Collections.Generic; using System.Text; using System.Net.Mail; using System.Net; namespace BLL.Function { public class EmailServices { ///<summary> /// 發(fā)送郵件 ///</summary> ///<param name="sendEmailAddress">發(fā)件人郵箱</param> ///<param name="sendEmailPwd">發(fā)件人密碼</param> ///<param name="msgToEmail">收件人郵箱地址</param> ///<param name="title">郵件標(biāo)題</param> ///<param name="content">郵件內(nèi)容</param> ///<returns>0:失敗。1:成功!</returns> public static int SendEmail(string sendEmailAddress, string sendEmailPwd, string[] msgToEmail, string title, string content) { //發(fā)件者郵箱地址 string fjrtxt = sendEmailAddress; //發(fā)件者郵箱密碼 string mmtxt = sendEmailPwd; ////收件人收箱地址 //string sjrtxt = msgToEmail; //主題 string zttxt = title; //附件 //string fjtxt = fj.Text; //內(nèi)容 string nrtxt = content; string[] fasong = fjrtxt.Split('@'); string[] fs = fasong[1].Split('.'); //發(fā)送 //設(shè)置郵件協(xié)議 SmtpClient client = new SmtpClient("smtp." + fs[0].ToString().Trim() + ".com"); client.UseDefaultCredentials = false; //通過網(wǎng)絡(luò)發(fā)送到Smtp服務(wù)器 client.DeliveryMethod = SmtpDeliveryMethod.Network; //通過用戶名和密碼 認(rèn)證 client.Credentials = new NetworkCredential(fasong[0].ToString(), mmtxt); //發(fā)件人和收件人的郵箱地址 MailMessage mmsg = new MailMessage(); mmsg.From = new MailAddress(fjrtxt); for (int i = 0; i < msgToEmail.Length; i++) { mmsg.To.Add(new MailAddress(msgToEmail<i>)); } //郵件主題 mmsg.Subject = zttxt; //主題編碼 mmsg.SubjectEncoding = Encoding.UTF8; //郵件正文 mmsg.Body = nrtxt; //正文編碼 mmsg.BodyEncoding = Encoding.UTF8; //設(shè)置為HTML格式 mmsg.IsBodyHtml = true; //優(yōu)先級(jí) mmsg.Priority = MailPriority.High; //if (fj.Text.Trim() != "") //{ ////增加附件 // mmsg.Attachments.Add(new Attachment(fj.Text)); //} try { client.Send(mmsg); return 1; } catch { return 0; } } } } |
|
|