Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ab .NET 10 erzwingt die Klasse eine MailAddress strengere Überprüfung von E-Mail-Adressen. E-Mail-Adressen mit aufeinanderfolgenden Punkten im lokalen Teil (z. B. test..address@example.com) oder im Domain-Teil (z. B. address@test..example.com) werden jetzt als ungültig angesehen. Die Änderung stimmt das Verhalten von MailAddress mit dem in RFC 5322 und RFC 2822 angegebenen E-Mail-Adressformat überein.
Eingeführt in Version
.NET 10 Preview 1
Vorheriges Verhalten
Zuvor erlaubte die MailAddress Klasse E-Mail-Adressen mit aufeinander folgenden Punkten in den lokalen oder Domänenteilen, obwohl diese Adressen gemäß der E-Mail-Adressspezifikation ungültig sind.
Der folgende Code wird beispielsweise ausgeführt, ohne eine Ausnahme zu auslösen:
using System.Net.Mail;
var email = new MailAddress("test..address@example.com");
Console.WriteLine(email.Address); // Output: test..address@example.com
Neues Verhalten
Ab .NET 10 erzwingt die MailAddress-Klasse eine strengere Überprüfung und wirft eine FormatException, wenn sie eine E-Mail-Adresse mit aufeinanderfolgenden Punkten in den lokalen oder Domänenteilen analysiert.
Der folgende Code gibt zum Beispiel jetzt einen Fehler aus FormatException:
using System.Net.Mail;
var email = new MailAddress("test..address@example.com"); // Throws FormatException
Die Ausnahmemeldung gibt an, dass die E-Mail-Adresse ungültig ist.
Art der einschneidenden Änderung
Diese Änderung ist eine Verhaltensänderung.
Grund für Änderung
Diese Änderung stellt die Einhaltung des in RFC 5322 und RFC 2822 angegebenen E-Mail-Adressformats sicher. Gemäß diesen Standards sind E-Mail-Adressen mit aufeinander folgenden Punkten in den lokalen oder Domänenteilen ungültig. Das vorherige Verhalten, solche Adressen zuzulassen, war falsch und konnte zu unerwarteten Problemen in Anwendungen führen, die MailAddress zur E-Mail-Validierung verwenden.
Empfohlene Aktion
Wenn Ihre Anwendung von der MailAddress Klasse abhängt, um E-Mail-Adressen zu analysieren, überprüfen Sie Ihren Code, um sicherzustellen, dass sie keine E-Mail-Adressen mit aufeinander folgenden Punkten in den lokalen Oder Domänenteilen übergibt. Wenn solche Adressen gefunden werden, aktualisieren Sie Ihre Anwendung so, dass das FormatException jetzt ausgelöst wird.
Sie können z. B. einen try-catch Block verwenden, um ungültige E-Mail-Adressen zu verarbeiten:
using System;
using System.Net.Mail;
try
{
var email = new MailAddress("test..address@example.com");
}
catch (FormatException ex)
{
Console.WriteLine($"Invalid email address: {ex.Message}");
}
Alternativ können Sie E-Mail-Adressen mithilfe eines regulären Ausdrucks überprüfen, bevor Sie sie an den MailAddress Konstruktor übergeben.
Betroffene APIs
- MailAddress(String) Konstruktor
- MailAddress(String, String) Konstruktor
- MailAddress(String, String, Encoding) Konstruktor