Bestätigen einer E-Mail-Adresse

Ich versuche, eine E-Mail mit c # mit dem folgenden Code zu senden.

<code>MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromAddress, friendlyName);
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);

//set the content
mail.Subject = emailSubject;
mail.Body = emailHeader + "\n" + emailBody;

//send the message
SmtpClient smtp = new SmtpClient(ServerAddress);
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
mail.IsBodyHtml = true;
smtp.Send(mail);
</code>

Die Zeichenfolge "toAddress", die meine Funktion empfängt, enthält möglicherweise eine einzelne Adresse oder mehrere durch Kommas getrennte Adressen.

Das Problem besteht nun darin, dass bei mehreren durch Kommas getrennten Adressen eine oder zwei von ihnen möglicherweise das falsche E-Mail-Adressformat aufweisen.

Wenn ich also versuche, eine E-Mail mit diesem Code zu senden, erhalte ich die Ausnahme:

"Die angegebene Zeichenfolge hat nicht das für eine E-Mail-Adresse erforderliche Format."

Gibt es eine Möglichkeit, die durch Kommas getrennten E-Mail-Adressen zu überprüfen? Ich hatte irgendwo gelesen, dass die einzige Möglichkeit, eine E-Mail-Adresse zu validieren, darin besteht, eine E-Mail an sie zu senden, da die regulären Ausdrücke zur Validierung einer E-Mail-Adresse erstaunlich umfangreich sein können.

Außerdem habe ich keine Kontrolle über das Design oder darüber, wie diese Adresszeichenfolge zu meiner Funktion kommt. Ich kann die E-Mail-Validierung nicht in der Benutzeroberfläche hinzufügen, daher bin ich dort hilflos ...

Mein Problem ist, dass die E-Mail nicht zugestellt wirdALLES Die Adressen in der durch Kommas getrennten Zeichenfolge, obwohl nurETWAS der Adressen haben das falsche Format.

Gibt es eine Möglichkeit, E-Mail-Adressen in .NET ordnungsgemäß zu überprüfen? Gibt es eine Möglichkeit, die schlechten E-Mail-Adressen auszumerzen und die E-Mail nur an die guten zu senden?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage