QQ郵箱的第三方客戶端服務,可以讓我們很輕松地在我們自己的小程序中調用QQ郵箱來進行收發郵件。當然需要進行一些設置獲取授權碼。
1、開啟SMTP服務,相當於授權過程(開啟后,才可以通過這個模擬發送)
位置: 設置--> 賬號--> 賬號安全--> POP3/SMTP服務 -->開啟
通過短信驗證后
獲取SMTP服務的授權碼(發送郵件的授權信息,這個很重要)
2、編寫發送郵箱郵件代碼(引用:System.Net,System.Net.Mail)
/// <summary> /// 郵件發送幫助類 /// </summary> public class SMTPSendHelper { /// <summary> /// 通過客戶端發送郵件信息(如果發件人使用QQ郵箱,那么對應的smtpService需改成smtp.qq.com) /// 前提:發件人需要到郵箱中啟用第三方客戶端服務,位置:設置-->賬戶-->POP3/SMTP服務 -->開啟,獲取郵箱授權碼 /// </summary> /// <param name="senderEmail">發件人郵箱</param> /// <param name="authCode">發件人郵箱授權碼</param> /// <param name="receiverEmail">收件人郵箱</param> /// <param name="emailTitle">郵件標題</param> /// <param name="emailContent">郵件內容</param> /// <param name="smtpService">郵件服務名:smtp.qq.com </param> public static void SendEmailBySMTP(string senderEmail,string authCode,string receiverEmail,string emailTitle,string emailContent,string smtpService) { //實例化一個發送郵件類 MailMessage mailMsg = new MailMessage(); //發件人郵箱地址 mailMsg.From = new MailAddress(senderEmail); //收件人郵箱地址 mailMsg.To.Add(new MailAddress(receiverEmail)); //郵件標題的編碼格式 mailMsg.SubjectEncoding = Encoding.UTF8; //郵件標題 mailMsg.Subject = emailTitle; //郵件內容的編碼格式 mailMsg.BodyEncoding = Encoding.UTF8; //郵件內容 mailMsg.Body = emailContent; //是否是html郵件 mailMsg.IsBodyHtml = true; //郵件優先級 mailMsg.Priority = MailPriority.High; //實例化一個SmtpClient類 SmtpClient client = new SmtpClient(); //設置郵件服務名,這里使用的是QQ郵箱,所以是smtp.qq.com, 若使用163郵箱,則是 smtp.163.com client.Host = smtpService; //設置郵件端口 client.Port = 587; //使用安全加密連接 client.EnableSsl = true; //不和請求一塊發送 client.UseDefaultCredentials = false; //驗證發件人身份(發件人郵箱,郵箱生成的授權碼) client.Credentials = new NetworkCredential(senderEmail, authCode); //發送 client.Send(mailMsg); } }
3、調用發送郵箱郵件代碼
//測試發送郵件 SMTPSendHelper.SendEmailBySMTP("1442398694@qq.com", "fjdmmctbocdljbfc", "3239127208@qq.com", "測試郵件","測試郵件內容:htttp://www.baidu.com", "smtp.qq.com");
4、發送后效果
經過測試,可以發送到QQ郵箱、網易163郵箱、雅虎郵箱,其他郵箱未驗證
參考網址:
https://www.cnblogs.com/ZxtIsCnblogs/p/8301819.html
https://blog.csdn.net/qq_39491295/article/details/83578376