c# 實現(xiàn)發(fā)送郵件的功能
微軟已經(jīng)為我們準備好了現(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ā)送郵件標題</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ā)送郵件得標題
mailMessage.Body = mailContent;//設(shè)置發(fā)送郵件內(nèi)容
mailMessage.BodyEncoding = Encoding.UTF8;//設(shè)置發(fā)送郵件得編碼
mailMessage.IsBodyHtml = false;//設(shè)置標題是否為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 !”

解決方案:確認郵箱是使用密碼直接登錄,還是授權(quán)碼;
3.拋出錯誤:mail from address must be same as authorization user
一般是郵箱賬戶設(shè)置中的 POP3/IMAP/SMTP 未開啟
以qq郵箱為例:同樣在賬戶設(shè)置中找到下圖,開啟紅框中的選項即可。

以上就是c# 實現(xiàn)發(fā)送郵件的功能的詳細內(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格式郵件,詳細的介紹了發(fā)送HTML格式郵件的方法,有興趣的可以了解一下。2017-02-02
用C#+Selenium+ChromeDriver爬取網(wǎng)頁(模擬真實的用戶瀏覽行為)
這篇文章主要介紹了用C#+Selenium+ChromeDriver爬取網(wǎng)頁,模擬真實的用戶瀏覽行為,需要的小伙伴可以參考一下2022-01-01

