我有一个VB.NET应用程序向用户发送邮箱,让他们知道一些需要他们关注的事情.

邮件在应用程序内生成,并通过Microsoft 365帐户发送.

多年来,这项技术一直没有出现任何问题,但在2天前,它突然停止了工作.

我在应用程序外测试了邮件帐户,效果很好.

当我登录365帐户时,发件箱中没有任何项目,过go 2天内没有发送的项目,收件箱中也没有失败的邮箱通知.因此,我得出结论,这个问题一定在应用程序中.

问题是,我已经有2-3年没有更改应用程序的这一部分了,所以不知道为什么它会停止工作.

代码 struct 为:

Imports System.Net.Mail

Public Class Form1

    Private Sub SendEmail()
        Dim MS365Email As New MailMessage
        MS365Email.To.Add("RECIPIENTEMAIL")
        MS365Email.From = New MailAddress("SENDEREMAIL")
        MS365Email.Subject = "SUBJECT"
        MS365Email.IsBodyHtml = True
        MS365Email.Body = "BODYTEXT"

        Dim MS365client As New SmtpClient("smtp.office365.com", 587)
        MS365Email.Priority = MailPriority.Normal

        MS365client.EnableSsl = True
        MS365client.UseDefaultCredentials = False
        Dim xms365 As New Net.NetworkCredential("USERNAME", "PASSWORD")
        MS365client.Credentials = xms365
        MS365client.DeliveryMethod = SmtpDeliveryMethod.Network
        MS365client.SendAsync(MS365Email, Nothing)
    End Sub

End Class

谢谢你的帮助和建议.

日本

推荐答案

Exactly the same happened to me.
I had the following exception:

Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant.
Visit https://aka.ms/smtp_auth_disabled for more information.

You have to allow SMTP for the account (again).
Use Exchange Online PowerShell to enable or disable SMTP AUTH on specific mailboxes.

This example enables SMTP AUTH for mailbox sean@contoso.com.
Set-CASMailbox -Identity sean@contoso.com -SmtpClientAuthenticationDisabled $false

Outlook/Apps failing sending mails? Microsoft has disabled SMTP (July 2022)

.net相关问答推荐

.NET MAUI 的登录页面

将 Span 传递到函数时出现 F# 错误

找不到 Assert.Fail 和 Assert.Pass 或等效项

从 List 到数组 T[] 的转换

修剪数组中的所有字符串

WCF反序列化如何在不调用构造函数的情况下实例化对象?

从 .NET 中的字符串末尾修剪字符串 - 为什么会丢失?

如何异步 Files.ReadAllLines 并等待结果?

如何允许程序集(单元测试)访问另一个程序集的内部属性?

如何在 C# 中安全地将 System.Object 转换为bool?

String.Replace() 与 StringBuilder.Replace()

覆盖 ASP.NET MVC 中的授权属性

是否可以完全用托管的 .NET 语言编写 JIT 编译器(本地代码)

.Net 中 AOP 的最佳实现是什么?

您可以使用 Xamarin 开发 Linux 应用程序吗?

如何使用 Entity Framework Code First CTP 5 存储图像?

让 String.Replace 只打整个单词的方法

使用 lambda 表达式代替 IComparer 参数

模拟和单元测试需要时如何抛出 SqlException?

如何使用 AutoMapper .ForMember?