Требуется указать валидные e mail что это значит

Я знал, как валидировать email-адрес. Пока не прочитал RFC

От переводчика: прочитав статью, начал было отвечать в комментариях, но решил, что текст, на которую я собирался ссылаться, достоин отдельной публикации. Встречайте!

Если вы знаете, как валидировать email-адрес, поднимите руку. Те из вас, кто поднял руку — опустите её немедленно, пока вас кто-нибудь не увидел: это достаточно глупо — сидеть в одиночестве за клавиатурой с поднятой рукой; я говорил в переносном смысле.

До вчерашнего дня я бы тоже поднял руку (в переносном смысле). Мне нужно было проверить валидность email-адреса на сервере. Я это уже делал несколько сот тысяч раз (не шучу — я считал) при помощи классного регулярного выражения из моей личной библиотеки.

В этот раз меня почему-то потянуло ещё раз осмыслить мои предположения. Я никогда не читал (и даже не пролистывал) RFC по email-адресам. Я попросту основывал мою реализацию на основе того, что я подразумевал под корректным email-адресом. Ну, вы в курсе, что обычно говорят о том, кто подразумевает. [прим. перев. Автор имеет в виду игру слов: «when you assume, you make an ass of you and me» — «когда вы (что-то) подразумеваете, вы делаете /./удака из себя и из меня»]

И обнаружил кое-что занимательное: почти все регулярные выражения, представлены в интернете как «проверяющие корректность email-адреса», излишне строги.

Оказывается, что локальная часть email-адреса — то, что перед знаком «@» — допускает гораздо более широкое разнообразие символов, чем вы думаете. Согласно разделу 2.3.10 RFC 2821, который определяет SMTP, часть перед знаком «@» называется локальной частью (часть после знака — это домен получателя) и предназначена для интерпретации исключительно сервером получателя.

Следовательно — и благодаря длинной череде проблем, вызванных промежуточными хостами, пытавшимися оптимизировать передачу путём изменения их [адресов — перев.], локальная часть ДОЛЖНА быть интерпретирована (и ей должен быть назначен семантический смысл) исключительно сервером, указанным в доменной части адреса.

Адресная спецификация представляет собой определённый идентификатор в сети Internet, содержащий локально интерпретируемую строку, за которой следует знак «эт» («@», ASCII-код 64), за которым, в свою очередь, следует домен сети Internet. Локально интерпретируемая строка представляет собой либо обрамлённую кавычками строку, либо точечный атом.

Точечный атом — это набор атомов, разделённых точками. В свою очередь, атом определён в разделе 3.2.4 как набор алфавитно-цифровых символов и может включать в себя любые из нижеследующих символов (знаете, те самые, которыми обычно заменяют мат)…

Более того, вполне допустимо (хотя не рекомендуется и редко где применяется) иметь закавыченные локальные части, в которых допустимы почти любые символы. Закавычивание может производится либо при помощи символа обратной черты, либо путём обрамления локальной части двойными кавычками.

RFC 3696, Application Techniques for Checking and Transformation of Names, был написан автором протокола SMTP (RFC 2821) как человекочитаемое руководство по эксплуатации SMTP. В третьем разделе он приводит примеры корректных email-адресов.

Это таки корректные email-адреса!

Ну-ка, прогоните их через ваш любимый валидатор. Ну как, много прошло?

По приколу я решил попробовать написать регулярное выражение (спасибо, мне уже доложили, теперь у меня две проблемы), через которое они все прошли бы. Вот оно.

Учтите, что это выражение подразумевает, что чувствительность к регистру выключена (RegexOptions.IgnoreCase в .NET). Согласен, весьма уродливое выражение.

Я написал юнит-тест, чтобы продемонстрировать все случаи, которые оно покрывает. Каждая строка содержит email-адрес и флаг — является он корректным или нет.

Прежде, чем вы назовёте меня жутким занудой и педантом (может, вы и правы, но всё равно погодите), я не думаю, что настолько глубокая проверка email-адресов абсолютно необходима. Большинство email-провайдеров имеют более строгие требования к email-адесам. Например, Yahoo требует, чтобы адрес начинался с буквы. Похоже, что имеется стандартизированный более строгий набор правил, которому следует большинство email-провайдеров, но насколько мне известно, он нигде не задокументирован.

Думаю, я создам email-адрес типа phil.h\@\@ck@haacked.com и начну жаловаться в техподдержку на сайтах, которые требуют ввода email-адреса, но не позволяют мне создать учётную запись с этим адресом. Люблю шалить!

Мораль заключается в том, что полезно время от времени бросать вызов предрассудкам и предположениям, а также никогда не подпускать меня к RFC.

Источник

Валидация email

Подготовка

Перед тем как писать валидацию, надо знать из чего состоит email адрес. Думаю известно всем что это «username@hostname». Лучше всего будет разбить создание регэкспа на 2 логические части — валидация hostname и валидация username. Начнём с более объёмного.

Валидация hostname

Для начала подумаем, а из чего же состоит hostname?

Имя хоста состоит из нескольких компонентов, разделённых точкой и не превышающих 63 символа, и суффиксов (домены первого уровня). Компоненты, в свою очередь, состоят из латинских букв, цифр и дефисов, причём дефисы не могут быть в начале или в конце компонента. Суффиксы это ограниченный список доменов первого уровня (я нашёл список на сайте IANA). Для упрощения выражения запишем домены стран как [a-z][a-z] (любые 2 символа от a до z не зависимо от регистра). Так же не будем использовать не латинские символы, пока они официально не введены в публичное пользование. В итоге получим выражение проверяющее суффикс (конструкция (foo|bar) говорит о том что происходит поиск либо foo либо bar, т.е. заменяет или):

Для компонентов код будет посложнее:

[a-z0-9] # обязательная буква латинского алфавита или цифра
([-a-z0-9]<0,61>[a-z0-9])? # необязательная часть
\. # точка

Рассмотрим необязательную часть:

# дефис ставиться на первое место в группе символов, иначе он принимается за промежуток
# <0,61>после группы символов означает, что группа может повторятся от 0 до 61 раза
[-a-z0-9]<0,61>
# 61 для того, чтобы в группе не было более 63 символов в сумме
[a-z0-9]

В итоге мы получили выражение отвечающее за проверку hostname:

Обращу внимание на то, что присутствие компонентов не обязательно, т.к. некоторые домены первого уровня поддерживаются серверами. Пример.

Валидация username

На самом деле тут все просто: 1 или более символ [-a-z0-9!#$%&’*+/=?^_`

В итоге

Регэксп проверки email:

Это выражение можно каплю оптимизировать (про оптимизацию, я думаю, будет отдельная статья):

Бонус

Рассмотрим регэксп, который привели в пример в комментарии к вступительному топику:

Источник

Что такое валидный email

Валидный email — это реально действующий электронный адрес.

Почему отправителю рассылок важно, чтобы email был валидным?

Какие адреса считаются валидными и невалидными

Слово «валидный» образовано от английского valid — действительный, годный, обоснованный.

Невалидные адреса — это:

Зачем нужна проверка валидности email

Невалидные адреса в базе рассылки способствуют тому, что письма рассылки попадают в спам и/или возвращаются. Чем больше таких писем, тем больше страдает репутация компании как отправителя.

Жёсткие возвраты (hard bounce) могут привести к блокировке отправителя в сервисе-рассыльщике. Они случаются по одной из следующих причин:

Мягкие возвраты (soft bounce) происходят из-за временных технических проблем, например, слишком большого текста письма или переполненной почты получателя. На платформах рассылок есть лимиты на soft bounce, после превышения которых отказ переходит в категорию жёсткого и ведёт к блокировке.

Чтобы такого не происходило, стоит регулярно проверять адреса базы на валидность.

В результате получаем:

Валидацию адресов проводят на этапе сбора и повторяют проверку минимум раз в полгода. Если база растёт, логично увеличить и частоту проверок.

Кому нужна проверка email-адресов на валидность

Особенно озаботиться проверкой базы стоит тем компаниям, которые:

Как проверить валидность почты

Проверить email на валидность можно с помощью специальных сервисов — валидаторов или верификаторов.

Что именно проверяют валидаторы?

Синтаксис адреса

В этой итерации проверяется формат написания и выявляются адреса с ошибками, корпоративные емейлы, дубликаты.

Домен и сервер

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

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

Активность почтового ящика

Сервис-верификатор проверит, пользуется ли владелец адреса почтовым ящиком в данное время.

Сервисы для валидации email

Проверить email на валидность можно в онлайн-сервисах и программах, которые можно установить на компьютер.

Требуется указать валидные e mail что это значит. Смотреть фото Требуется указать валидные e mail что это значит. Смотреть картинку Требуется указать валидные e mail что это значит. Картинка про Требуется указать валидные e mail что это значит. Фото Требуется указать валидные e mail что это значитОдин из сервисов выявил невалидный адрес и указал его параметры

Онлайн-проверка валидности email

Сравним онлайн-сервисы, которые проверяют валидность адресов. Все они выполняют основные функции верификации: проверяют адреса на синтаксис, проверяют домены, находят одноразовые или неактивные емейлы. Различаются отдельными возможностями и тарифами.

СервисЧто умеетБесплатноПлатно
BriteVerifyИнтегрируется через APIПо запросу техподдержки0,01$ за один адрес
BouncerПрофессиональная техподдержка, гибкие тарифы100 проверокОт 20 до 500$ в месяц, индивидуальный тариф с персональным менеджером
BulkEmailVerifierРаботает быстро и одновременно с несколькими списками в форматах CSV или TXT, отчёты в CSVОт 25$ за 3 тысячи адресов
DataValidationСервис для профессионалов с развёрнутым API и автоматическим мониторингом списков500 проверокТариф зависит от количества контактов: от 0,007$, если нужно проверить до 10 тысяч адресов, до индивидуальных тарифов
Email CheckerПроверяет онлайн по API, может корректировать адреса, удаляя недопустимые символы14$ за тысячу адресов
Email List VerifyДополнительно проводит необнаруживаемые проверки100 проверокОт 0,0003$ за адрес или от 139$ в месяц при величине списка в 5 тысяч адресов
EmailMarkerРаботает с форматами: CSV, TXT, XLS, XLSX. Круглосуточная техподдержка150 проверокОт 21$ в месяц
ePochta Verifier OnlineБыстрая проверка, неограниченное количество баз100 проверокОт 0,00005$ за 1 адрес
KickboxAPI для верификации в реальном времени,100 проверокОт 0,008$ за 1 адрес
MailboxValidatorДелит все контакты на три группы: валидные, условно-валидные и невалидные100 проверок в течение 30 дней149,95$ за 50 тысяч проверок
MailGet List CleaningПроверяет списки в девять этапов, определяет hard bounceОт 159$ за 50 тысяч проверок
MailflossИнтегрируется с MailChimp и другими сервисами, проверяет базу ежедневно7 днейОт 17$ в месяц
MailvalidatorЭкспресс-проверка, интеграция через API, техподдержка в телеграмеЭкспресс-проверка без выгрузки отчётов 5 списков адресов в течение месяцаЭкспресс-проверка — ​​0,25₽ за адрес для списка до 10 тысяч контактов, полная проверка — плюс 0,18₽
MillionVerifierОдин из самых дешёвых валидаторов с техподдержкой во всех версиях10 адресов, плюс 200 адресов, если подтвердить номер телефонаОт 50$ за 50 тысяч адресов
NeverBounceПроверяет в реальном времени, автоматически чистит базуТысяча проверокОт 0,008$ за адрес при проверке до 10 тысяч адресов
Pabbly Email VerificationНаходит адреса по ключевым словам, использует медленную отправку для более точных результатовОт 5$ за тысячу адресов
QuickEmailVerificationПоддерживает форматы: CSV, TXT, XLS, XLSX, ODS. Даёт возможность без регистрации попробовать некоторые функции бесплатно100 проверок ежедневноОт 0,008$ за адрес при проверке базы от 500 до 3500 адресов
SendPulse VerifierПредлагает сразу несколько вариантов проверки, предоставляет подробный отчёт.Один адрес в день или 100 адресов в месяцОт 0,28₽ за адрес
Snov.ioМожет идентифицировать платные и бесплатные домены, есть расширение для Chrome100 проверокОт 39$ в месяц
TrueMailОриентирован на профессионалов, синхронизируется с CRMТысяча проверокОт 7$ за тысячу проверок
XverifyИспользует технологию защиты от мошенничества, может проверять номера телефонов100 проверокОт 0,01$ за адрес для базы в 5 тысяч контактов
ZeroBounceНаходит и добавляет в отчёт данные о пользователях, удаляет адреса с hard и soft bounce100 проверокОт 0,008$ за адрес для базы от 2 до 5 тысяч контактов

SaaS-решения для проверки email

При необходимости можно установить программу для проверки email на компьютер. Сравним популярные SaaS-программы.

ПрограммаЧто умеетСколько стоит лицензия
ePochta VerifierЗагружает списки и выгружает отчёты в удобном для пользователя формате, анализирует работу домена2 400₽
High Speed VerifierПроверяет до нескольких тысяч адресов в секунду1 500₽ в год, есть бесплатная версия с ограниченными возможностями
MailList ValidatorПроверяет до нескольких сотен адресов в секунду, импортирует адреса из любых источников, ищет адреса по гибким критериямБесплатно

Как избежать попадания в базу невалидных адресов

Для поддержания чистоты базы следуйте простым правилам:

Подытожим

Репутация отправителя рассылок напрямую зависит от валидности его подписной базы. Чтобы реже попадать в спам и избежать блокировки за невалидные адреса в базе, регулярно проверяйте списки рассылок с помощью специальных онлайн-сервисов или специальных программ.

Узнавайте об обновлениях блога Email Soldiers первым

Спасибо!

Осталось подтвердить подписку — кликнуть по кнопке в письме, которое мы вам отправили.

Следите за обновлениями в соцсетях или получайте их от нашего телеграм-бота

Источник

Зачем и как валидировать email-адреса

Email-маркетинг –очень популярный канал коммуникации в интернете. Его конверсия – самая высокая в сравнении с другими инструментами интернет-маркетинга. По данным Marketing Insider Group, 59% B2B-маркетологов считают, что email-рассылка – самый эффективный канал повышения доходов. Преимущества email-маркетинга – в прямой быстрой коммуникации с потенциальными клиентами, относительно недорогая стоимость внедрения и проведения, автоматизация, рост целевых действий от подписчиков и растущая лояльность к вашему бренду.

Исследования Experian (США) выяснили:

Мы обсудим детально причину № 1 – некачественная база электронных адресов и как избежать этой причины попадания в спам.

Для успешных продаж через email важно иметь чистую и качественную базу электронных адресов. Однако со временем в любой базе появятся дубликаты, адреса с ошибками, битые почты или недоставляемые emailы. По этой причине важным этапом является валидация электронных адресов.

Как часто нужно проводить валидацию баз?

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

Как именно сервисы валидируют почты?

Чем опасна некачественная база?

Превышение количества невалидных адресов и жалоб приводит к ограничению доставки писем в папку «Входящие». Если в рассылке более 5% ошибок – риски попасть в СПАМ очень высокие. Письма могут и вовсе отклоняться почтовым ящиком. Поэтому очень важно контролировать процент попадания в спам. Например, в почте Mail.ru пороговое значение несуществующих ящиков в рассылке составляет 5%, для Yahoo и Rocketmail – 10%. Показатель попадания в спам лучше держать в пределах 0,1%, но некоторые почтовые службы позволяют значение до 0,3%.

Что делать, если Вы таки попали в спам-лист?

Если Вы все-таки решили рискнуть, и не провалидировали email-базу, и попали в блек-лист по этой причине, не стоит отчаиваться, выход есть. Большинство сервисов спам и блек-листов работают автоматически. Поэтому, если Ваш домен попал в черный список, остановите отправку писем с него, хотя бы на 10-14 дней. В таком случае, он может выйти из блек-листа автоматически.

Например, можно самостоятельно убрать домен из блек-листа при помощи сайта https://www.spamhaus.org/lookup/. Это большая база данных по спаму, которая отслеживает подозрительную активность в реальном времени, и сразу помещает IP или домен в спам. Если вы заблокированы, сервис отправит на страницу, где объясняется причина блокировки и что делать дальше.

Прежде,чем подавать заявку на разблокировку и удаления из базы Spamhaus.org, необходимо устранить саму причину блокировки со стороны сервера и написать о решении вопроса на почтовый ящик sbl-removals@spamhaus.org, используя специальный номер, который отображается в адресной строке.

Второй вариант – купить новый домен и IPадрес. Это обезопасит Вас в будущем от попадания в черные списки, т.к. ответственность за репутацию IP адреса и домена будете нести только Вы. Но ровно до первой рассылки по «непрогретой» и не провалидированной базе.

Источник

Проверка email на валидность — 10 лучших советов

Чтобы ваша email рассылка была результативной и письма не попадали в «Спам», важно учитывать множество факторов. О них я рассказывал в статье: «12 ошибок email рассылок или как не попасть в спам».

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

Большинство email баз для рассылки содержит устаревшие данные. Это могут быть непроверенные, неработающие, заблокированные, поддельные, одноразовые, переполненные адреса и т.д.

Купленные базы быстро устаревают и часто содержат некачественные email, большая часть из которых уже не существует. И количество их может достигать 40%, в зависимости от качества базы.

Рассылка по базам без проверки на валидность чревата последствиями — от попадания писем в спам и падения рейтинга домена, до полной его блокировки почтовыми провайдерами.

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

Услуга проверки баз на валидность довольно востребована, поэтому в наше время найти исполнителя несложно. Вопрос только в цене.

Веб-студии, как правило, берут дорого, так как им нужно оплачивать не только зарплаты работников, но еще и аренду, налоги и т.д.

Существует масса специализированных сервисов проверки email, например: zerobounce, myemailverifier. На мой взгляд — оптимальное соотношение цена / качество.

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

В любом случае, важно получить отчет валидации по каждому email адресу. И чем подробнее он будет, тем лучше.

Самым бюджетным, но и самым трудозатратным вариантом проверки является самостоятельная валидация баз. Для этого нужно знать, каким критериям должен соответствовать рабочий email адрес. Разберем основные из них:

Каждый почтовый адрес должен соответствовать определенному формату, содержащему имя, домен и знак «@». Эффективным способом такой проверки является применение регулярных выражений в соответствии с современными стандартами.

Однако, важно понимать, что проверка на синтаксис ничего не скажет о том, существует ли этот email и домен, используемый в адресе на самом деле. В то же время, она позволяет отсеять большое количество невалидных email с минимальными затратами на серверные ресурсы.

DEA (Disposable email address) — это временная электронная почта, которая создается для того, чтобы не использовать свой настоящий email-адрес на ресурсах в интернете по разным причинам. Такая почта не требует регистрации, анонимна и удаляется сразу же после использования.

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

Валидация по DEA-критерию заключается в проверке на принадлежность домена email общеизвестным поставщикам одноразовых адресов электронной почты.

Следующим этапом валидации является выполнение запроса, на получение DNS записей.

MX-запись в DNS направляет письма на почтовый сервер и указывает как письма должны маршрутизироваться в соответствии с SMTP или стандартным протоколом передачи почты.

Проверка наличия DNS и MX-записей является первым сигналом того, что сервер работает и обслуживает входящие запросы для домена электронного адреса. Результатом является успешное определение IP-адреса почтового сервера с помощью записей MX.

SMTP-сервер необходим для проверки корректности соединения с почтовым сервером, для разрешения на отправку сообщений, для непосредственной отправки сообщения и подтверждения доставки письма.

В нашем случае, для валидации email, достаточно будет проверить правильность установки безошибочного соединения с SMTP-сервером без фактической отправки электронного письма. Успешным результатом проверки SMTP является факт того, что почтовый сервер работает и готов принимать письма.

Почтовые ящики могут быть заблокированы провайдерами по множеству причин. Это подозрительная активность, подбор паролей, попытка входа из нового браузера или места, частая рассылка однотипных сообщений, блокировка по запросу гос. органов и ведомств и т.д.

Как правило, такие email встречаются не так часто, но для лучшего результата их хорошо было бы проверить и исключить.

Понять, что email отключен можно по ответам SMTP-сервера. Обычно в ошибках встречаются такие упоминания, как «disabled», «discontinued».

При отправке электронных писем на некоторые email-адреса в ответ можно получить автоматические сообщения о нехватке места на сервере или о том, что текущему адресату приходит слишком много писем. Такие почтовые ящики гарантированно заброшены и нет смысла отправлять на них письма.

Методом валидации таких email является анализ ошибочных ответов SMTP-сервера на наличие вхождений «full», «insufficient», «over quota», «too many messages» и т.д.

Catch-all — это email адрес, принимающий все сообщения, адресованные на неправильный адрес электронной почты домена.

Например, на сервере есть 2 почтовых адреса: info@site.com и manager@site.com. В качестве catch-all используется all@site.com. Любые сообщения, отправленные на несуществующий admin@site.com попадут в all@site.com.

Проверить факт того, является ли текущий email catch-all-адресом или нет можно с помощью SMTP-диалога и отправки сообщения на заведомо несуществующий, сгенерированный почтовый адрес в почтовом домене.

Ролевые учетные записи — это адреса электронной почты, которые не связаны с конкретным человеком, а скорее с компанией, отделом, должностью или группой. Как правило, они не предназначены для личной переписки. Часто они начинаются на info, admin, support и т.д.

Отправка сообщений на такие email ставится под вопрос. Обычно, их не используют для подписок и вероятность того, что кто-то пометит письмо как спам высока. Так же ролевые email используют в качестве «приманки» для поимки спамеров такие сервисы, как Spamhaus.

Проверка email на валидность в этом случае выполняется методом сравнения текущего имени в адресе email со списком часто-встречающихся имен ролевых учетных записей.

Черный список электронной почты — это база email, IP-адресов и доменных имен, которые были зафиксированы в рассылке спама. Одним из самых известных является составной список от Spamhaus.

Для предотвращения спама, черные списки используются многими поставщиками услуг, в число которых входят Google и Microsoft.

Проверка наличия email в черном списке является важнейшей частью определения валидности баз email для рассылок.

Зачастую, возникает ситуация, когда почтовый сервер перегружен и недоступен. Об этом свидетельствует ошибка, связанная с временем соединения с SMTP-сервером.

Такие проверки нужно идентифицировать и запускать повторно через некоторое время. Как показывает практика, наиболее достоверный результат валидации можно получить, выполнив не менее 3-х проверок.

Это были основные методы проверки email на валидность, на которые следует обратить внимание. Придерживаясь этих рекомендаций вы сможете получить качественные базы с рабочими, валидными email адресами для успешного маркетинга.

Источник

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

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