что значит невалидный емайл

Я знал, как валидировать 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-маркетинг –очень популярный канал коммуникации в интернете. Его конверсия – самая высокая в сравнении с другими инструментами интернет-маркетинга. По данным 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 не будет опубликован. Обязательные поля помечены *