[英]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"),
};
您遇到上述錯誤消息的原因可能有幾個
您可能需要查看有關使用 outlook 發送 email 的教程。 如果您使用的是 Gmail,那么您可以參考這篇文章https://dotnetblog.asphostportal.com/using-gmail-to-send-email-in-asp-net-core/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.