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)碼,其他郵箱見(jià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;
}
}
常見(jiàn)問(wèn)題及錯(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 未開(kāi)啟
以qq郵箱為例:同樣在賬戶設(shè)置中找到下圖,開(kāi)啟紅框中的選項(xiàng)即可。

以上就是c# 實(shí)現(xiàn)發(fā)送郵件的功能的詳細(xì)內(nèi)容,更多關(guān)于c# 發(fā)送郵件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
DevExpress之TreeList用法實(shí)例總結(jié)
這篇文章主要介紹了DevExpress之TreeList用法,對(duì)于C#初學(xué)者有一定的借鑒價(jià)值,需要的朋友可以參考下2014-08-08
那些年,我還在學(xué)習(xí)C# 學(xué)習(xí)筆記
那些年學(xué)了ASP.NET后,才開(kāi)始學(xué)習(xí)C#,說(shuō)來(lái)也怪,怎么學(xué)了ASP.NET才來(lái)學(xué)習(xí)C#,其實(shí)沒(méi)有什么的2012-03-03
通過(guò)C#實(shí)現(xiàn)發(fā)送自定義的html格式郵件
本篇文章主要介紹了通過(guò)C#實(shí)現(xiàn)發(fā)送自定義的html格式郵件,詳細(xì)的介紹了發(fā)送HTML格式郵件的方法,有興趣的可以了解一下。2017-02-02
C# 修改文件的創(chuàng)建、修改和訪問(wèn)時(shí)間的示例
這篇文章主要介紹了C#實(shí)現(xiàn)修改文件的創(chuàng)建、修改和訪問(wèn)時(shí)間的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-04-04
用C#+Selenium+ChromeDriver爬取網(wǎng)頁(yè)(模擬真實(shí)的用戶瀏覽行為)
這篇文章主要介紹了用C#+Selenium+ChromeDriver爬取網(wǎng)頁(yè),模擬真實(shí)的用戶瀏覽行為,需要的小伙伴可以參考一下2022-01-01

