c# 實現(xiàn)發(fā)送郵件的功能
微軟已經(jīng)為我們準(zhǔn)備好了現(xiàn)成的工具類供我們調(diào)用:
MailMessage //郵件信息類
SmtpClient //郵件發(fā)送類
首先需要在項目的類文件中引用以下命名空間:
using System.Net; using System.Net.Mail;
然后直接上封裝好的代碼:
/// <summary> /// 發(fā)送郵件方法 /// </summary> /// <param name="mailTo">接收人郵件</param> /// <param name="mailTitle">發(fā)送郵件標(biāo)題</param> /// <param name="mailContent">發(fā)送郵件內(nèi)容</param> /// <returns></returns> public static bool SendEmail(string mailTo, string mailTitle, string mailContent) { //設(shè)置發(fā)送方郵件信息,例如:qq郵箱 string stmpServer = @"smtp.qq.com";//smtp服務(wù)器地址 string mailAccount = @"123456789@qq.com";//郵箱賬號 string pwd = @"xcryxiqzzasaebbe";//郵箱密碼(qq郵箱此處使用授權(quán)碼,其他郵箱見郵箱規(guī)定使用的是郵箱密碼還是授權(quán)碼) //郵件服務(wù)設(shè)置 SmtpClient smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定電子郵件發(fā)送方式 smtpClient.Host = stmpServer;//指定發(fā)送方SMTP服務(wù)器 smtpClient.EnableSsl = true;//使用安全加密連接 smtpClient.UseDefaultCredentials = true;//不和請求一起發(fā)送 smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//設(shè)置發(fā)送賬號密碼 MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//實例化郵件信息實體并設(shè)置發(fā)送方和接收方 mailMessage.Subject = mailTitle;//設(shè)置發(fā)送郵件得標(biāo)題 mailMessage.Body = mailContent;//設(shè)置發(fā)送郵件內(nèi)容 mailMessage.BodyEncoding = Encoding.UTF8;//設(shè)置發(fā)送郵件得編碼 mailMessage.IsBodyHtml = false;//設(shè)置標(biāo)題是否為HTML格式 mailMessage.Priority = MailPriority.Normal;//設(shè)置郵件發(fā)送優(yōu)先級 try { smtpClient.Send(mailMessage);//發(fā)送郵件 return true; } catch (SmtpException ex) { throw ex; } }
常見問題及錯誤匯總:
1.郵箱授權(quán)碼怎么獲取,以qq郵箱為例:
2.拋出錯誤:System.Net.Mail.SmtpException:“命令順序不正確。 服務(wù)器響應(yīng)為:Error: need EHLO and AUTH first !”
解決方案:確認(rèn)郵箱是使用密碼直接登錄,還是授權(quán)碼;
3.拋出錯誤:mail from address must be same as authorization user
一般是郵箱賬戶設(shè)置中的 POP3/IMAP/SMTP 未開啟
以qq郵箱為例:同樣在賬戶設(shè)置中找到下圖,開啟紅框中的選項即可。
以上就是c# 實現(xiàn)發(fā)送郵件的功能的詳細(xì)內(nèi)容,更多關(guān)于c# 發(fā)送郵件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
DevExpress之TreeList用法實例總結(jié)
這篇文章主要介紹了DevExpress之TreeList用法,對于C#初學(xué)者有一定的借鑒價值,需要的朋友可以參考下2014-08-08那些年,我還在學(xué)習(xí)C# 學(xué)習(xí)筆記
那些年學(xué)了ASP.NET后,才開始學(xué)習(xí)C#,說來也怪,怎么學(xué)了ASP.NET才來學(xué)習(xí)C#,其實沒有什么的2012-03-03通過C#實現(xiàn)發(fā)送自定義的html格式郵件
本篇文章主要介紹了通過C#實現(xiàn)發(fā)送自定義的html格式郵件,詳細(xì)的介紹了發(fā)送HTML格式郵件的方法,有興趣的可以了解一下。2017-02-02用C#+Selenium+ChromeDriver爬取網(wǎng)頁(模擬真實的用戶瀏覽行為)
這篇文章主要介紹了用C#+Selenium+ChromeDriver爬取網(wǎng)頁,模擬真實的用戶瀏覽行為,需要的小伙伴可以參考一下2022-01-01