Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА:

C # для подтверждения адреса электронной почты 4 года 7 мес. назад #277

  • Олег Коровяков
  • Олег Коровяков аватар Автор темы
  • Не в сети
  • Автор сайта
  • Автор сайта
  • Сообщений: 280
  • Репутация: 1
  • Спасибо получено: 1
Как насчет этого?
bool IsValidEmail(string email)
{
    try {
        var addr = new System.Net.Mail.MailAddress(email);
        return addr.Address == email;
    }
    catch {
        return false;
    }
}
Чтобы уточнить, возникает вопрос, является ли конкретная строка действительным представлением адреса электронной почты, а не является ли адрес электронной почты допустимым местом назначения для отправки сообщения. Для этого единственный реальный способ - это отправить сообщение для подтверждения.

Обеспечение проверок работоспособности - все еще хорошая идея для пользовательского опыта. Предполагая, что адрес электронной почты действителен, вы можете искать известные домены верхнего уровня, проверять домен на наличие записи MX, проверять орфографические ошибки из общих доменных имен (gmail.cmo) и т.д. Затем выдает предупреждение, дающее пользователю возможность сказать "да, мой почтовый сервер действительно позволяет в качестве адреса электронной почты".

Что касается использования обработки исключений для бизнес-логики, я согласен, что этого следует избегать. Но это один из тех случаев, когда удобство и ясность могут перевесить догму.

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

Согласно комментарию Стюарта, это сравнивает окончательный адрес с исходной строкой, а не всегда возвращает true. MailAddress пытается разобрать строку с пробелами в части "Отображаемое имя" и "Адрес", поэтому исходная версия возвращала ложные срабатывания.

--- Дальнейшее чтение ---

Документация для System.Net.Mail.MailAddress

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Модераторы: Дмитрий

О сайте

Строительство индивидуальных домов из лёгкого самана - опыт, советы, методика строительства и подробные инструкции. А также возможность применения альтернативных источников энергии.


Контакты

08340. ул.Салютная 17. с.Гнедын.
Киевская обл. Украина.

+38 067 492 4124.
+38 095 065 8860.

info@okwood.com.ua
www.okwood.com.ua

Местоположения


8PM2+7R Гнедин, Kyiv Oblast