Универсальный чекер e-mail почты на валидность. Часть 1.

Универсальный чекер e-mail почты на валидность. Часть 1.

Нередко пользователи сталкиваются с такой задачей, как проверка e-mail адресов на валидность. А знаете ли Вы, что в ZennoPoster есть встроенный метод проверки почты? И называется он ValidateEmail(String,String,String) Method, в связи с чем отпадает необходимость в создании шаблонов по авторизации в каждом из почтовых сервисов.

Всё максимально просто!
Раз. Копируем нижеприведенный код в C# кубик:

ZennoPoster.ValidateEmail(project.Variables["login"].Value, project.Variables["pass"].Value);

Два: В переменных login и pass указываем данные от почтового ящика.
Три: Выполняем и проверяем результат! Если почта валидная — уйдет по зелёной ветке, если нет — красная.

Чекер готов! Спорю, что Вы не ожидали, что всё настолько легко 🙂

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

string proxy = project.Variables["proxy"].Value;
if (String.IsNullOrWhiteSpace(proxy)) proxy = null;

try {
    ZennoPoster.ValidateEmail(project.Variables["login"].Value, project.Variables["pass"].Value, proxyString:proxy);
	return "Good";
}
catch (Exception e) {
    return e.Message;
}

Если ящик необходимо проверить через прокси, установите его в переменную proxy в формате protocol://ip:port или protocol://login:[email protected]:port. В противном случае оставьте её пустой. Независимо от результата, стрелка пойдет по зеленой ветке. Следующим шагом Вам необходимо обработать сам ответ.

Какие могут вернуться значения?
Good — почтовый адрес валидный
Login failed! — адрес невалидный. Важный момент: если аккаунт заморожен за подозрительную активность, такой e-mail будет определяться как невалидный.
Connection failed! — не удалось установить соединение.
ValidateEmail: Need manual server settings — не удалось автоматически подобрать настройки для почтового сервера.В таком случае необходимо указать доп. аргументы для метода ValidateEmail(), а именно: сервер, порт, SSL (да \ нет), IMAP (да \ нет).

Как правильно обработать ответ?
Следующим шагом после С# кубика Вам нужна логика IF-ELSE, либо Switch, чтобы определить дальнейшие действия в зависимости от результата.

Во второй части статьи мы рассмотрим способ проверки E-mail адреса на существование.

Обсудить на форуме

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *