您好,登錄后才能下訂單哦!
本篇內容介紹了“c# 如何實現發送郵件到指定郵箱”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
PS:案例使用qq郵箱,當然,也可以使用其他郵箱,只要替換郵箱關鍵字即可,下面案例已做標注。
首先,我們需要一個【當前發件授權碼】,這個碼需要登錄發件箱里面進行開啟,我們先開啟一下。
授權碼獲取到后,我們就開始擼代碼了,總共三步
1、配置web文件;
2、編寫幫助類;
3、編寫控制器測試。
配置web文件
<appSettings> <!--begin 郵箱配置--> <add key="smtpServer" value="smtp.qq.com" /><!--郵箱SMTP服務器 可用qq郵箱、163郵箱,只是關鍵字不一樣--> <add key="mailFrom" value="1509802981@qq.com" /><!--當前發件箱的郵箱賬號--> <add key="userPassword" value="wckfuxwamayvgiba" /> <!--當前發件授權碼,需要去發件開通獲取 --> <add key="mailTo" value="1509802981@qq.com;1509802981@qq.com" /><!--收件人:收件箱郵箱名稱,多個收件人以分號;做分割符,這里我用同一個做測試--> <!--end 郵箱配置--> </appSettings>
編寫幫助類
using System; using System.Collections.Generic; using System.Linq; using System.Net.Mail; using System.Text; using System.Threading.Tasks; namespace ProjectWebDAL { public static class EmailHelper { #region 發送郵件 /// <summary> /// 發送郵件 /// </summary> /// <param name="mailSubject">郵箱主題</param> /// <param name="mailContent">郵箱內容</param> /// <returns>返回發送郵箱的結果</returns> public static bool SendEmail(string mailSubject, string mailContent) { // 設置發送方的郵件信息 string smtpServer = System.Configuration.ConfigurationManager.AppSettings["smtpServer"];//SMTP服務器 //smtp.qq.com string mailFrom = System.Configuration.ConfigurationManager.AppSettings["mailFrom"]; // 當前發件箱登陸名 string userPassword = System.Configuration.ConfigurationManager.AppSettings["userPassword"]; //授權碼,在當前發送郵箱里面進行設置 string mailTo = System.Configuration.ConfigurationManager.AppSettings["mailTo"]; //收件人:收件箱郵箱名稱,多個收件人以分號;做分割符 bool b = false; string[] mailTos = mailTo.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); // 郵件服務設置 SmtpClient smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定電子郵件發送方式 //smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;//指定電子郵件發送方式 smtpClient.Host = smtpServer; //指定SMTP服務器 smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用戶名和密碼 for (int i = 0; i < mailTos.Length; i++) { // 發送郵件設置 MailMessage mailMessage = new MailMessage(mailFrom, mailTos[i]); mailMessage.Subject = mailSubject;//主題 mailMessage.Body = mailContent;//內容 mailMessage.BodyEncoding = Encoding.UTF8;//正文編碼 mailMessage.IsBodyHtml = true;//設置為HTML格式 mailMessage.Priority = MailPriority.Low;//優先級 try { smtpClient.Send(mailMessage); // 發送郵件 b = true; } catch (SmtpException ex) { return false; } } return b; } #endregion } }
編寫控制器測試(我使用的是控制器測試)
//郵件發送 public JsonResult Email() { ResultInfo result = new ResultInfo(); EmailHelper.SendEmail("我是郵件主題", "我是郵件內容 "); result.res = true; result.info = "郵件發送成功!"; return Json(result, JsonRequestBehavior.AllowGet); } //自定義返回json數據類型 public class ResultInfo { public bool res { get; set; } public string info { get; set; } }
然后我們看一下效果
瀏覽器顯示發送成功
指定郵箱也收到郵件了,為什么有兩條呢,因為我們web配置文件里面發送多個郵件,兩個都是同一個郵箱。
PS:我們發送的郵箱不一定需要寫到配置文件,可以寫到數據庫,然后讀取數據庫指定郵件賬戶進行發送。
程序員最快的成功就是復制,有一個成功的demo后再去進行逐步了解,快去試一試吧!
“c# 如何實現發送郵件到指定郵箱”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。