【发布时间】:2022-01-12 02:56:45
【问题描述】:
我是一名公司员工。 作为我工作的一部分,我需要从我的 C# 代码发送电子邮件。
通过以下代码,我可以使用不太安全的 gmail ID 成功发送电子邮件。但我无法对基于公司 Outlook Exchange 的电子邮件 ID 做同样的事情。 我得到以下异常。
" SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 客户端未通过身份验证发送邮件。错误:535 5.7.139 身份验证不成功,邮箱禁用了 SmtpClientAuthentication。访问https://aka.ms/smtp_auth_disabled 了解更多信息。 [BN9PR03CA0659.namprd03.prod.outlook.com]"
我该怎么办?有没有办法让我的公司 Outlook Exchange 电子邮件 ID 不那么安全,无法发送电子邮件。 (就像我为 gmail 所做的那样。)
下面是我正在使用的代码。
MailMessage message = new MailMessage(from, to);
string mailbody = "In this article you will learn how to send a email using Asp.Net & C#";
message.Subject = "Sending Email Using Asp.Net & C#";
message.Body = mailbody;
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("name@corporatecompany.com", "$password");
client.Host = "smtp.office365.com";
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(message);
}
【问题讨论】:
-
您需要确保smtp地址正确。尽管使用 O365,但您的组织可能会有所不同,并且可能是端口号。请与负责此问题的公司电子邮件管理团队/AD 团队联系,然后重试。
-
这里有一堆类似的帖子。您是否在 SO 上检查过具有相同错误消息的现有帖子?