您好,登錄后才能下訂單哦!
這篇文章主要介紹如何解決.NET發(fā)送郵件遇到的問(wèn)題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
.NET后臺(tái)代碼利用QQ郵箱服務(wù)器發(fā)送郵件遇到的問(wèn)題:"mail from address must be same as authorization user"
首先,看下我的代碼實(shí)現(xiàn)
后臺(tái)代碼:
public class EmailHelper { /// <summary> /// 發(fā)送郵件 /// </summary> /// <param name="subject">主題</param> /// <param name="body">內(nèi)容</param> public static void SendEmail(string subject,string body) { var mailFrom = ConfigurationManager.AppSettings["mailFrom"]; var mailTo = ConfigurationManager.AppSettings["mailTo"]; var mailCC = ConfigurationManager.AppSettings["mailCC"]; var smtp = ConfigurationManager.AppSettings["smtp"]; var smtpPort = Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"]); var emailAccount = ConfigurationManager.AppSettings["emailAccount"]; var emailPassword = ConfigurationManager.AppSettings["emailPassword"]; //郵件內(nèi)容信息 MailMessage mailMessage = new MailMessage { From = new MailAddress(mailFrom), Subject = subject, Body = body, }; mailMessage.To.Add(mailTo); mailMessage.CC.Add(mailCC); //郵箱服務(wù)器配置 SmtpClient smtpClient = new SmtpClient(smtp, smtpPort) { Credentials = new NetworkCredential(emailAccount, emailPassword), EnableSsl = true, }; //發(fā)送郵件 smtpClient.Send(mailMessage); } }
配置文件:
<appSettings> <!--發(fā)送人、收件人、抄件人--> <add key="mailFrom" value="53xxx1314@qq.com"/> <add key="mailTo" value="89xxxx734@qq.com"/> <add key="mailCC" value="89xxx734@qq.com"/> <!--郵箱服務(wù)器主機(jī)地址和端口號(hào)--> <add key="smtp" value="smtp.qq.com"/> <add key="smtpPort" value="25"/> <!--發(fā)送人郵箱賬號(hào)密碼--> <add key="emailAccount" value="53xxx1314"/> <!--此密碼非QQ密碼,而是郵箱生成的密碼--> <add key="emailPassword" value="stxxxxxxxxtscbbb"/> </appSettings>
代碼已經(jīng)搞定,剩下的就是跑起來(lái)了
第一次跑起來(lái)遇到問(wèn)題就是開(kāi)頭所說(shuō)的"mail from address must be same as authorization user"
具體為什么會(huì)這樣呢,我的賬號(hào)密碼沒(méi)錯(cuò)啊,看了幾篇博友的文章后確定是QQ郵箱密碼出問(wèn)題了。但是我用QQ密碼登入郵箱是正常的,然后嘗試開(kāi)啟POP/SMTP服務(wù),發(fā)現(xiàn)了主要問(wèn)題
QQ郵箱的POP/SMTP 服務(wù)沒(méi)開(kāi)啟
操作步驟:
進(jìn)入QQ郵箱->設(shè)置->賬戶->滾動(dòng)到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)”
如果是沒(méi)有開(kāi)啟,那就開(kāi)啟它
我沒(méi)有開(kāi)啟,點(diǎn)擊后需要發(fā)送短信,配置郵件客戶端
發(fā)送短信完畢后,獲得了授權(quán)碼,將授權(quán)碼替換我在代碼中寫(xiě)的qq密碼,然后重新跑起來(lái),錯(cuò)誤消失,主要是未授權(quán)問(wèn)題
注意,授權(quán)碼會(huì)在QQ密碼或獨(dú)立密碼修改后而失效 ,需要重新獲得。
重新運(yùn)行,沒(méi)有問(wèn)題
問(wèn)題雖然不是很大,也沒(méi)有太多技術(shù)含量,但是能節(jié)省我們?cè)俅斡龅竭@種問(wèn)題,卻想不起怎么解決的,回顧起來(lái),總比重新重視要節(jié)省時(shí)間。
以上是“如何解決.NET發(fā)送郵件遇到的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。