Вопрос по .net, c#, email – Подтверждение адреса электронной почты

27

Я пытаюсь отправить электронное письмо, используя c #, используя следующий код.

<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>

Теперь строка «toAddress», которую получает моя функция, может содержать один адрес или иметь много адресов, разделенных запятыми.

Теперь проблема в том, что в случае нескольких адресов, разделенных запятыми, один или два из них могут иметь неправильный формат адреса электронной почты.

Так что, когда я пытаюсь отправить электронное письмо с использованием этого кода, я получаю исключение:

"Указанная строка не в форме, необходимой для адреса электронной почты."

Есть ли способ проверить адреса электронной почты через запятую? Я где-то читал, что единственный способ проверить адрес электронной почты - это отправить ему письмо, потому что регулярные выражения для проверки адреса электронной почты могут быть на удивление огромными.

Кроме того, я не могу контролировать дизайн или то, как эта адресная строка попадает в мою функцию, я не могу добавить проверку адреса электронной почты в пользовательском интерфейсе, поэтому я беспомощен там ...

Моя проблема в том, что письмо не будет доставленоВС адреса в строке через запятую, хотя толькоНЕСКОЛЬК адресов имеют неправильный формат.

Есть ли способ правильно проверить адреса электронной почты в .NET? Есть ли способ отсеять плохие адреса электронной почты и отправлять почту только на хорошие?

Я немного запутался. Вы пытаетесь подтвердить адрес электронной почты или просто формат адреса электронной почты? beyerss

Ваш Ответ

1   ответ
22

и проверить каждый адрес электронной почты с помощью простого (или огромного) регулярного выражения электронной почты. Или попробуйте создатьMailAddress объект; он также поддерживает некоторую базовую проверку адреса.

Похожие вопросы