您好,登錄后才能下訂單哦!
這篇文章主要介紹如何實現c#發送郵件的功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
微軟已經為我們準備好了現成的工具類供我們調用:
MailMessage //郵件信息類
SmtpClient //郵件發送類
首先需要在項目的類文件中引用以下命名空間:
using System.Net; using System.Net.Mail;
然后直接上封裝好的代碼:
/// <summary> /// 發送郵件方法 /// </summary> /// <param name="mailTo">接收人郵件</param> /// <param name="mailTitle">發送郵件標題</param> /// <param name="mailContent">發送郵件內容</param> /// <returns></returns> public static bool SendEmail(string mailTo, string mailTitle, string mailContent) { //設置發送方郵件信息,例如:qq郵箱 string stmpServer = @"smtp.qq.com";//smtp服務器地址 string mailAccount = @"123456789@qq.com";//郵箱賬號 string pwd = @"xcryxiqzzasaebbe";//郵箱密碼(qq郵箱此處使用授權碼,其他郵箱見郵箱規定使用的是郵箱密碼還是授權碼) //郵件服務設置 SmtpClient smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定電子郵件發送方式 smtpClient.Host = stmpServer;//指定發送方SMTP服務器 smtpClient.EnableSsl = true;//使用安全加密連接 smtpClient.UseDefaultCredentials = true;//不和請求一起發送 smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//設置發送賬號密碼 MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//實例化郵件信息實體并設置發送方和接收方 mailMessage.Subject = mailTitle;//設置發送郵件得標題 mailMessage.Body = mailContent;//設置發送郵件內容 mailMessage.BodyEncoding = Encoding.UTF8;//設置發送郵件得編碼 mailMessage.IsBodyHtml = false;//設置標題是否為HTML格式 mailMessage.Priority = MailPriority.Normal;//設置郵件發送優先級 try { smtpClient.Send(mailMessage);//發送郵件 return true; } catch (SmtpException ex) { throw ex; } }
常見問題及錯誤匯總:
1.郵箱授權碼怎么獲取,以qq郵箱為例:
2.拋出錯誤:System.Net.Mail.SmtpException:“命令順序不正確。 服務器響應為:Error: need EHLO and AUTH first !”
​解決方案:確認郵箱是使用密碼直接登錄,還是授權碼;
3.拋出錯誤:mail from address must be same as authorization user
​一般是郵箱賬戶設置中的 POP3/IMAP/SMTP 未開啟
以qq郵箱為例:同樣在賬戶設置中找到下圖,開啟紅框中的選項即可。
以上是如何實現c#發送郵件的功能的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。