c# 實(shí)現(xiàn)發(fā)送郵件的功能
微軟已經(jīng)為我們準(zhǔn)備好了現(xiàn)成的工具類供我們調(diào)用:
MailMessage //郵件信息類
SmtpClient //郵件發(fā)送類
首先需要在項(xiàng)目的類文件中引用以下命名空間:
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";//郵箱賬號(hào) 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;//不和請(qǐng)求一起發(fā)送 smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//設(shè)置發(fā)送賬號(hào)密碼 MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//實(shí)例化郵件信息實(shí)體并設(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)先級(jí) try { smtpClient.Send(mailMessage);//發(fā)送郵件 return true; } catch (SmtpException ex) { throw ex; } }
常見問題及錯(cuò)誤匯總:
1.郵箱授權(quán)碼怎么獲取,以qq郵箱為例:
2.拋出錯(cuò)誤:System.Net.Mail.SmtpException:“命令順序不正確。 服務(wù)器響應(yīng)為:Error: need EHLO and AUTH first !”
解決方案:確認(rèn)郵箱是使用密碼直接登錄,還是授權(quán)碼;
3.拋出錯(cuò)誤:mail from address must be same as authorization user
一般是郵箱賬戶設(shè)置中的 POP3/IMAP/SMTP 未開啟
以qq郵箱為例:同樣在賬戶設(shè)置中找到下圖,開啟紅框中的選項(xiàng)即可。
以上就是c# 實(shí)現(xiàn)發(fā)送郵件的功能的詳細(xì)內(nèi)容,更多關(guān)于c# 發(fā)送郵件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
DevExpress的DateEdit設(shè)置顯示日期和時(shí)間的方法
本文主要介紹了DevExpress的DateEdit設(shè)置顯示日期和時(shí)間的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08C#利用微軟自帶庫進(jìn)行中文繁體和簡(jiǎn)體之間轉(zhuǎn)換的方法
這篇文章主要介紹了C#利用微軟自帶庫進(jìn)行中文繁體和簡(jiǎn)體之間轉(zhuǎn)換的方法,涉及C#使用Microsoft.VisualBasic類庫操作中文繁簡(jiǎn)字體轉(zhuǎn)換的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04如何使用C#修改本地Windows系統(tǒng)時(shí)間
這篇文章主要介紹了如何使用C#修改本地Windows系統(tǒng)時(shí)間,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01