簡體   English   中英

嘗試在 asp.net 核心應用程序中使用 SmtpClient 發送 email 時出錯

[英]Getting an error when trying send an email using SmtpClient in asp.net core application

我正在嘗試從 asp.net 核心應用程序發送 email 但我不斷收到錯誤消息

SmtpException:SMTP 服務器需要安全連接或客戶端未通過身份驗證。 服務器響應為:5.7.57 客戶端未通過身份驗證發送郵件。 [JN2P275CA0038.ZAFP275.PROD.OUTLOOK.COM]

我也嘗試過檢查防火牆規則並增加超時,但沒有幫助,所以我不確定出了什么問題

這是我發送 email 的代碼

   SmtpClient client = new SmtpClient("smtp.office365.com")
                    {
                        //Port = 587, //outlook port 587
                        Port = 587, 
                        EnableSsl = true,
                        //UseDefaultCredentials
                        UseDefaultCredentials = false,
                        TargetName = "STARTTLS/smtp.office365.com",
                        DeliveryMethod = SmtpDeliveryMethod.Network,
                        Credentials = new NetworkCredential("myemail@myemails.com","password"),
                    };

                    MailMessage message = new MailMessage()
                    {
                        From = new MailAddress("myemail@myemails.com"),
                        Subject = "New Requisition",
                        Body = "New requisition has been created:" + " " + requisition.RequisitionNo,
                        IsBodyHtml = true,
                    };

                    message.To.Add(SubmissionNotfication.To);
                    //message.CC.Add(SubmissionNotfication.Cc);
                    //var attachment = new System.Net.Mail.Attachment(filePath); //Attachment(string fileName, string mediaType) 
                    //message.Attachments.Add(attachment);
                    client.Send(message);
                }
        

查看如何設置應用程序以使用 Microsoft 365 或 Office 365 發送 email

您可能必須使用 MX 端點作為發送域並嘗試使用端口 25

SmtpClient client = new SmtpClient("yourorganisation.mail.protection.outlook.com")
{
    Port = 25, 
    EnableSsl = true,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential("myemail@myemails.com","password"),
};

您遇到上述錯誤消息的原因可能有幾個

  1. email 用戶名和密碼不正確
  2. SSL 設置。 確保在通過應用程序發送電子郵件時啟用 SSL 安全性
  3. 你的端口問題。 確保您的 ISP 沒有阻止端口 25 或 587。您可以使用 telnet 進行檢查。

您可能需要查看有關使用 outlook 發送 email 的教程。 如果您使用的是 Gmail,那么您可以參考這篇文章https://dotnetblog.asphostportal.com/using-gmail-to-send-email-in-asp-net-core/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM