溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決.NET發(fā)送郵件遇到的問(wèn)題

發(fā)布時(shí)間:2021-07-12 13:49:59 來(lái)源:億速云 閱讀:119 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹如何解決.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)啟

如何解決.NET發(fā)送郵件遇到的問(wèn)題

操作步驟:

進(jìn)入QQ郵箱->設(shè)置->賬戶->滾動(dòng)到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)”

如何解決.NET發(fā)送郵件遇到的問(wèn)題

如果是沒(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ú)立密碼修改后而失效 ,需要重新獲得。

如何解決.NET發(fā)送郵件遇到的問(wèn)題

重新運(yùn)行,沒(méi)有問(wèn)題

如何解決.NET發(fā)送郵件遇到的問(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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI