如何在 asp.net C# 中使用启用两因素身份验证的 office365 电子邮件帐户发送电子邮件?

     2023-02-25     237

关键词:

【中文标题】如何在 asp.net C# 中使用启用两因素身份验证的 office365 电子邮件帐户发送电子邮件?【英文标题】:How to send email using two factor authentication enabled office365 email account in asp.net C#? 【发布时间】:2019-08-29 03:58:09 【问题描述】:

我正在尝试使用启用双重身份验证office365电子邮件帐户发送电子邮件。它给出了身份验证失败错误。对于尚未启用双因素身份验证的电子邮件帐户,效果很好。如何解决这个问题?

using (SmtpClient client = new SmtpClient())

   client.Port = Convert.ToInt32(appSettings["Port"]);
   client.DeliveryMethod = SmtpDeliveryMethod.Network;
   client.Host = "smtp.office365.com"; 
   client.EnableSsl = true;
   client.UseDefaultCredentials = false;
   client.Credentials = new System.Net.NetworkCredential(SenderMailAddress, SenderMailPassword); 
   email.Subject = String.Format("0", txtMailSubject.Text);
   //                   
   email.Body = String.Format("0", text);

   email.IsBodyHtml = true;                  

   client.Send(email);

错误信息是

System.Net.Mail.SmtpException:SMTP 服务器需要安全 连接或客户端未通过身份验证。服务器响应 是:5.7.1 客户端未在 System.Net.Mail.MailCommand.CheckResponse

【问题讨论】:

你可以通过使用App Passwords来解决这个问题 @Manusha 您是否使用 Brendan Green 提供的解决方案解决了您的问题? @Marc 不,我找不到解决方案。因此,我从该电子邮件帐户中删除了两因素身份验证。 在account.activedirectory.windowsazure.com/AppPasswords.aspx 创建和使用应用密码 您的交易所管理员必须为 2FA 用户启用此功能。文档:docs.microsoft.com/en-us/azure/active-directory/user-help/… 【参考方案1】:
            MailAddress from = new MailAddress("fromid");
            MailAddress to = new MailAddress("toID");
            MailMessage message = new MailMessage(from, to);
            message.Subject = "Using the new SMTP client.";
            message.Body = @"The sensor get offline ...";

            SmtpClient client = new SmtpClient(server);
            client.Host = "hostID"; 
            client.Port = 587;
            client.EnableSsl = true;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.UseDefaultCredentials = true;
            client.Credentials = new NetworkCredential
            
                UserName = "**********",
                Password = "*************,
            ;
            Console.WriteLine("Sending an email message to 0 using the SMTPhost 1.");

【讨论】:

您能否解释一下这将如何解决 2 因素身份验证?

两因素 Google 身份验证与服务器上的代码不匹配 - ASP.Net MVC

...SP.NetMVC【发布时间】:2015-09-1316:51:20【问题描述】:我在使用谷歌身份验证器的两因素身份验证中使用以下代码。此验证的问题在于,谷歌身份验证器代码在我的本地机器上正确验证,而不是在服务器上。服务器时间设置为 查看详情

如何在 ASP.NET Core 3.1 中启用多重身份验证?

】如何在ASP.NETCore3.1中启用多重身份验证?【英文标题】:HowtoenablemultipleauthenticationinASP.NETCore3.1?【发布时间】:2020-08-3101:32:49【问题描述】:在我的aspnetcore3.1项目中,我使用jwt进行身份验证。问题是我也在使用azure客户端来获... 查看详情

Angular 和 Asp.Net Core - 启用 2 因素身份验证

...序,它与我的ASP.NetCore2.2WebAPI服务器通信。登录时,用户使用“资源所有者密码凭据”授权将他的凭据发送到我的授权服务器(连接/令牌)。我正在 查看详情

在 iOS 模拟器中启用两因素身份验证

】在iOS模拟器中启用两因素身份验证【英文标题】:EnablingtwofactorauthenticationinaniOSsimulator【发布时间】:2018-12-0317:22:52【问题描述】:我是一名ReactNative开发人员,我刚刚购买了一台Macmini。我想开始开发iOS应用程序,但我没有iOS... 查看详情

当客户端在 ASP.NET Core 中省略任何启用的身份验证方案时,如何返回 401 HTTP 状态?

...当客户端在ASP.NETCore中省略任何启用的身份验证方案时,如何返回401HTTP状态?【英文标题】:Howtoreturn401HTTPstatuswhenclientomitsanyofenabledauthenticationschemesinASP.NETCore?【发布时间】:2019-06-0619:20:59【问题描述】:我们在ASP.NETCore应用程... 查看详情

在 C#、asp.net、windows 身份中模拟

...所以我正在尝试开发一个Web应用程序(c#,asp.net4.5),它使用Windows身份和模拟连接到TFS(团队基础服务器)并检索一些元素(工作项、任务等)。问题是模拟仅适用于运行应用程序的服务器,仅适用于我的身份。每当其他人 查看详情

如何将ansible与两因素身份验证一起使用?

】如何将ansible与两因素身份验证一起使用?【英文标题】:Howtouseansiblewithtwofactorauthentication?【发布时间】:2014-05-3116:34:25【问题描述】:我已经使用duosecurity为ssh启用了两因素身份验证(使用此playbookhttps://github.com/CoffeeAndCode/ans... 查看详情

帮助:如何在 ASP.NET 开发服务器上启用 Windows 身份验证?

】帮助:如何在ASP.NET开发服务器上启用Windows身份验证?【英文标题】:Help:HowtoenableWindowsAuthenticationonASP.NETDevelopmentServer?【发布时间】:2010-10-2515:50:22【问题描述】:我希望你们中的任何人都知道如何解决我们遇到的这个问题。... 查看详情

ASP.NET 身份两个因素不起作用 - Cookie 问题?

...布时间】:2014-08-2601:39:51【问题描述】:背景:我一直在使用微软团队here提供的Identity-Sample项目:我已将Identity-Sample项目和预发布nuget包集成到现有项目中,该项目以前使用最新的稳定版Identity。问题:在尝试2 查看详情

重置密码且未配置两因素设备时如何获得两因素身份验证

】重置密码且未配置两因素设备时如何获得两因素身份验证【英文标题】:Howtogettwofactorauthenticationwhenresettingpasswordandnodevicesconfiguredfortwofactor【发布时间】:2016-01-1816:28:57【问题描述】:我最近想使用我的一个旧项目特定的GitHub... 查看详情

为 Gmail 启用两因素身份验证时发送电子邮件失败

...:2014-12-3109:32:04【问题描述】:我在我的网络应用程序中使用我的Gmail帐户和smtp.gmail.com来测试和发送电子邮件。当我的Gmail帐户启用两因素身份验证时,它无法发送电子邮件,但是当我将其关闭时,Web应用程序会成功发 查看详情

如何在 Asp.net c# 中为 GridView 行启用双击和单击

】如何在Asp.netc#中为GridView行启用双击和单击【英文标题】:HowtoenabledoubleandsingleclickforGridViewrowinAsp.netc#【发布时间】:2018-02-0121:53:31【问题描述】:我在Asp.net中有一个GridView行,单击事件正在处理它我需要在我的网格行上添加... 查看详情

在 NET 5 asp.net 核心 Web 应用程序中为 Kestrel 启用 Windows 身份验证

...))创建了测试应用程序。现在我想设置这个应用程序以使用Wind 查看详情

将远程提交推送到 github 并启用两因素身份验证

...地提交。谢谢。【问题讨论】:【参考方案1】:如果您使用sshURL 查看详情

ASP.Net Identity 2 使用 SMS 密码登录 - 不使用双因素身份验证

】ASP.NetIdentity2使用SMS密码登录-不使用双因素身份验证【英文标题】:ASP.NetIdentity2loginusingpasswordfromSMS-notusingtwo-factorauthentication【发布时间】:2016-04-1509:11:55【问题描述】:在@TaiseerJoudeh(http://bitoftech.net/2015/01/21/asp-net-identity-2-wit 查看详情

如何在 ASP.Net Web API 中为特定控制器启用 Windows 身份验证

】如何在ASP.NetWebAPI中为特定控制器启用Windows身份验证【英文标题】:HowtoenableWindowsauthenticationforspecificcontrollerinASP.NetWebAPI【发布时间】:2014-08-2616:55:29【问题描述】:如果有一种方法可以仅针对特定ASP.NetWebAPI控制器的特定操作... 查看详情

使用 ASP.NET 表单身份验证,如何让图像出现在登录屏幕上?

】使用ASP.NET表单身份验证,如何让图像出现在登录屏幕上?【英文标题】:UsingASP.NETFormsAuthentication,howdoIgetanimagetoappearontheloginscreen?【发布时间】:2010-10-0321:34:16【问题描述】:我正在为一个小型ASP.NET(3.5,C#)应用程序进行简... 查看详情

在 DDD 中公开 ASP.NET 身份服务

...时间】:2015-09-2009:07:48【问题描述】:我们正在开发一个使用ASP.NETMVC、C#和EF6开发的基于DDD的应用程序。已决定使用ASP.NET身份服务实现身份验证和授权...我对此有一些疑问;身份验证/授权服务属于哪个类别。是应用程序、域还... 查看详情