Die Hinweise gehen leider insgesamt in die falsche Richtung.
Aus Sicherheitsgründen - und das ist gut so - ändert Microsoft das Authentifizierungsprinzip von Microsoft 365. Jegliche Basic Authentication wird entfernt.
Deprecation of Basic authentication in Exchange Online
Basic Authentication ist leider einfach extremst unsicher, das Einfallstor für sehr viele Phishing Attacken; damit ist auch SMTP leider ein - zu heutigen Maßstäben - sehr unsicheres Protokoll.
Das
wurde schon vor über 3 Jahren angekündigt und in vielen Tenants ist heute bereits kein Basic Auth und damit kein SMTP - egal mit welcher Lib - mehr möglich. Seitdem bekommt man Warnings in der Adminansicht von M365. Man hatte also wirklich genug Zeit zu handeln.
Willst Du im Namen eines Kontos E-Mails versenden, dann muss das in Zukunft über den Graph passieren, über einen OAuth Token.
Smtp fliegt vollständig raus.
Ein Beispiel dazu hier:
How to send emails in .NET with the Microsoft Graph
Du musst also zwingend den Graph verwenden, wenn Du über Konten mit 2FA Mails verschicken willst, weil dort heute schon kein Basic Auth und damit kein Smtp mehr funktioniert.
Außer man verwendet hier die App Passwords, die auch bald abgeschafft werden.
Der Wechsel auf MailKit hilft Dir also wahrscheinlich nur ein paar Wochen / Monate. Besser gleich richtig machen.
Und ja: wenn Du bisher keine ordentliche Token-Authentifizierung in Deiner App hast, dann heisst das, dass Du diese (endlich!) vollständig ersetzen musst.
Das Limit der möglichen Mails gilt pro M365 Account und ist gleich wie bisher.
Wer das ganze aber at Scale machen will, und in die Limits von M365 kommt, muss dafür in Zukunft den Azure Communcation Service verwenden.
How to send emails at scale in .NET with the Azure Communication Service
PS: das sind beides Medium Beiträge, an denen ich mitgewirkt hab.
Wenn eine Info kommt, dass man das Maximum an Beiträgen pro Monat schon gelesen hat, einfach InPrivate aufrufen (oder Medium Cookies löschen).