C# SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.57 SMTP;

C# SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:5.7.57 SMTP;,c#,asp.net-mvc,C#,Asp.net Mvc,当我试图通过我的C代码发送邮件时,上面显示的错误。我已经寻找了可能所有的解决方案,但我没有得到解决方案。我正在使用以下代码: MailMessage mail = new MailMessage("SenderMail",Email); mail.IsBodyHtml = true; mail.Subject = "An email from Office365"; mail.Body = "<html><body><

当我试图通过我的C代码发送邮件时,上面显示的错误。我已经寻找了可能所有的解决方案,但我没有得到解决方案。我正在使用以下代码:

MailMessage mail = new MailMessage("SenderMail",Email);
        mail.IsBodyHtml = true;
        mail.Subject = "An email from Office365";
        mail.Body = "<html><body><h1>Hello world</h1></body></html>";
        SmtpClient client = new SmtpClient("smtp.office365.com");
        client.Port = 587;
        client.EnableSsl = true;
        client.UseDefaultCredentials = false; // Important: This line of code must be executed before setting the NetworkCredentials object, otherwise the setting will be reset (a bug in .NET)
        NetworkCredential cred = new System.Net.NetworkCredential("Sendermail", "Password");
        client.Credentials = cred;
        client.Send(mail);
MailMessage mail=新的MailMessage(“SenderMail”,电子邮件);
mail.IsBodyHtml=true;
mail.Subject=“来自Office365的电子邮件”;
mail.Body=“你好,世界”;
SmtpClient=新的SmtpClient(“smtp.office365.com”);
client.Port=587;
client.enablesl=true;
client.UseDefaultCredentials=false;//重要提示:必须在设置NetworkCredentials对象之前执行这行代码,否则将重置设置(在.NET中有一个错误)
NetworkCredential cred=新系统.Net.NetworkCredential(“发件人邮件”、“密码”);
client.Credentials=cred;
客户端。发送(邮件);

如果您没有,那么我相信您可能需要启用从您的Office365帐户发送的客户端。有关详细信息,请参阅。

如果您没有,那么我相信您可能需要启用从您的Office365帐户发送的客户端。有关详细信息,请参阅。

1-我相信您的代码中缺少以下内容

client.DeliveryMethod=SmtpDeliveryMethod.Network

2-不要将UseDefaultCredentials值设置为false。将其保持为默认值。把电话线拔下来


这对我很有用。

1-我相信您的代码中缺少以下内容

client.DeliveryMethod=SmtpDeliveryMethod.Network

2-不要将UseDefaultCredentials值设置为false。将其保持为默认值。把电话线拔下来


这对我很有效。

上下文:我也遇到了同样的错误,我认为我的证书很好,因为它每天都正常工作。我试着调试,在internet上寻找解决方案(甚至在这个stackoverflow问题线程中),但我花了很多时间却没有得到好的结果

解决方案:最后,我在web客户端上尝试了我的“假定正确”凭据并登录。结果:我收到消息:“您的密码已过期!” 然后我更新了web客户端中的密码,更新了凭据和代码,就这样,一切正常


<强>附加信息< /强>:您可以考虑在其他地方(不在源代码中)保留密码(加密),这样就可以很容易地更新。

< P> <强>上下文< /强>:我面临同样的错误,我认为我的证书是好的,因为它每天都正常工作。我试着调试,在internet上寻找解决方案(甚至在这个stackoverflow问题线程中),但我花了很多时间却没有得到好的结果

解决方案:最后,我在web客户端上尝试了我的“假定正确”凭据并登录。结果:我收到消息:“您的密码已过期!” 然后我更新了web客户端中的密码,更新了凭据和代码,就这样,一切正常


<强>附加信息< /强>:您可以考虑在其他地方(不在源代码中)保留密码(加密),这样它就可以很容易地更新。

您是否确定100%个证书(用户:sEnmail,密码:密码)是正确的,包括资本化?是的Neil我通过登录我的帐户@Neil进行了交叉检查SMTP服务器需要安全连接或客户端未经身份验证。服务器响应为:5.7.57 SMTP;在从[MA1PR01CA0093.INDPRD01.PROD.OUTLOOK.COM]发送邮件期间,客户端未通过发送匿名邮件的身份验证。请尝试将完整电子邮件地址放入发件人凭据中(例如:。sendermail@office365.com)这只是一个样本。我使用了完整的电子邮件地址您是否100%确定凭据(用户:Sendmail,密码:Password)正确,包括大写字母?是Neil我通过登录我的帐户@Neil进行了交叉检查SMTP服务器需要安全连接或客户端未经身份验证。服务器响应为:5.7.57 SMTP;在从[MA1PR01CA0093.INDPRD01.PROD.OUTLOOK.COM]发送邮件期间,客户端未通过发送匿名邮件的身份验证。请尝试将完整电子邮件地址放入发件人凭据中(例如:。sendermail@office365.com)这只是一个样本。我已经使用了一个完整的电子邮件地址,我已经读过了,在我的编码中,你可以看到我已经完成了这里提到的所有事情。有没有像gmail这样的设置,我们允许访问第三方应用程序来发送电子邮件。我已经读过了,在我的代码中你可以看到我已经完成了上面提到的所有事情。是否有像gmail这样的设置,我们允许访问第三方应用程序发送电子邮件。感谢您的回复,但它不起作用!同样的错误。谢谢你的回复,但它不起作用!同样的错误。