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



Есть несколько важных причин для этого.

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

Во-вторых, этот пользователь не получит ваших емейл уведомлений.

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

Использование таких емейлов для маркетинговых рассылок и других емейл рассылок, может нести определенные риски для владельца сайта и увеличить риски добавления в списки DNSBL, различные blacklist'ы, увеличить вероятность попадания в папку спам и других ваших электронных писем. Увеличить ваши затраты бюджета на рассылки на фейковые адреса или на адреса, владельцы которых были скомпрометированы спамерами.

Чтобы избежать или снизить риски до минимума, перед рассылкой надо проверить список емейл адресов.

Недавно мы запустили проверку существования email адресов, которая проверяет, существует ли такой емейл адрес или нет. Он использует MX-записи домена адреса электронной почты и подключается к почтовым серверам (через SMTP, а также имитирует отправку сообщения), чтобы убедиться, что почтовый ящик действительно существует для этого пользователя/адреса, и он может получать почту.

Эта проверка решает сразу несколько задач, снижение вероятности пропуска спама и позволяет пользователям проверить емейлы своих пользователей. Для проверки пользователей можно использовать API метод https://cleantalk.org/help/api-spam-check.

Пример результата ответа API для https://cleantalk.org/blacklists?record=mattressfg%40gmail.com

{"data":
            {"mattressfg@gmail.com":
                      {"appears":1,
                      "frequency_time_10m":0,
                      "spam_rate":"1",
                      "frequency":"8",
                      "frequency_time_24h":1,
                      "updated":"2018-03-26 00:26:48",
                                                  "exists": 0, 
                      "frequency_time_1h":1}
            }
}




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

«exists»:«1» — существует
«exists»:«0» — не существует

Можно подвести промежуточные итоги, доля несуществующих емейл адресов в рассылке спама, составляет 25,34%.

Мы собираем информацию о спам IP/email адресах с более чем 237 000 веб сайтов. База емейл адресов содержит более 10 095 239 емейл адресов. И в наших ближайших планах, проверить все емейлы в базе данных и запустить проверку по всем емейл адресам которые обрабатываются сервисом.

Комментарии (33)


  1. RouR
    28.03.2018 12:28

    Какая вероятность ложного срабатывания вашего сервиса?
    Если будет какой-нибудь экзотично настроенный почтовый сервер?


    1. AleksandrRazoR Автор
      28.03.2018 14:13

      Могу привести данные по статистике всего сервиса, эффективность составялет 99,998%. Так как при фильтрации учитывается группа параметров.

      Если будет какой-нибудь экзотично настроенный почтовый сервер?


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


  1. T-362
    28.03.2018 13:16

    Функционал интересный, но опасный. Уже представляю дорвеи, «зарегистрируйся что-бы получить ответы/прочесть новость/скачать файл» и прочий фишинг, который проверяет таким образом адреса.


    1. AleksandrRazoR Автор
      28.03.2018 14:06

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

      Как я уже писал, фейковые емейлы сотставляют только 25,34%. Если спамер использует настоящий емейл, то ему надо иметь к нему доступ, что бы получить ссылку. А в собранных таким образом емейлах, доступа у него не будет и ему они бесполезны.


      1. T-362
        28.03.2018 14:38

        Не совсем то.
        Юзкейсы:

        • попадаю на трешевый сайт, ввожу фейковое мыло, трешевый сайт пропускает дальше.
        • попадаю на трешевый сайт, ввожу фейковое мыло, трешевый сайт делает проверку по вашей технологии, трешевый сайт НЕ пропускает дальше и требует реальную почту.


        1. AleksandrRazoR Автор
          28.03.2018 17:02

          попадаю на трешевый сайт, ввожу фейковое мыло, трешевый сайт делает проверку по вашей технологии, трешевый сайт НЕ пропускает дальше и требует реальную почту.


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


          1. xxxFeLiXxxx
            29.03.2018 03:26

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


            1. AleksandrRazoR Автор
              29.03.2018 11:29

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


          1. T-362
            29.03.2018 13:19

            Как один из вариантов — повышение эффективности фишинга. Одно дело когда фейковый вконтактик на вбитое не существующее мыло и пароль говорит «ваш аккаунт заблокирован, отправьте СМС туда-то», а совсем другое когда он говорит «такого аккаунта не существует».

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


            1. AleksandrRazoR Автор
              29.03.2018 18:16

              И молоток можно в разных целях использовать


  1. KYuri
    28.03.2018 13:44
    +1

    для любого онлайн бизнеса и владельцев веб сайтов важно быть уверенным, что именно владелец емейла использовал его для регистрации/подписки, чтобы пользователь использовал свой реальный емейл адрес.
    Что мешает владельцу сервиса/сайта отправить на введённый пользователем адрес почты ссылку для подтверждения?
    В чём смысл делиться данными о потенциальном пользователе с вами?


    1. AleksandrRazoR Автор
      28.03.2018 14:01

      Не у всех CMS, не на всех сайтах есть подтверждение действий по емейлу. В WordPress комментариях например, никто не делает подтверждение комментария по почте. Поэтому фейковых емейлов такой небольшой процент, всего 25,34% емейлов спамеры используют фейковых.

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


      1. KYuri
        28.03.2018 14:18

        Не у всех CMS, не на всех сайтах есть подтверждение действий по емейлу
        Так и не у всех CMS, не на всех сайтах есть возможность вызова внешних API.

        Нам это важно еще и с той стороны
        Зачем это важно вам, вполне ясно.
        Зачем владельцу сервиса/сайта делиться данными о пользователях с вами?
        Гипотетическая ситуация — пользователь вводит на моём сайте «чистый» (нигде ранее не использованный и не засвеченный email), я отсылаю его вам на проверку. Вас ломают злобные хакеры, email «светится», пользователь начинает получать спам. Винить в «сливе» своего адреса пользователь будет меня, т.к. он свой адрес давал только мне.
        Так чего ради мне делиться с вами адресом пользователя, ставя под угрозу лояльность пользователя по отношению ко мне?


    1. shagimuratov
      28.03.2018 14:20

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


      1. KYuri
        28.03.2018 14:40

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

        повысите качество ваших веб-приложений
        Можно поподробнее? «Если вы будете отсылать письмо по введенному пользователем email сами, то в вашем приложении будут такие-то ошибки, а если отдадите этот адрес нам — в вашем приложении количесво таких ошибок уменьшится на 100500%».

        Смысл в том, чтобы отправлять ссылку для активации акаунта только на существующие Email адреса, тем самым… снизите количество не активных акаунтов, не подтвержденных Email адресов.
        Рассмотрим два варианта:
        • Я самостоятельно отправляю ссылку для активации на несуществующий адрес. По ней просто никто не перейдёт, и неактивный аккаунт и неподтверждённый email я самостоятельно удалю из базы. Ваш сервис для меня не несёт никаких плюсов.
        • Я отправляю адрес для проверки вашему сервису. Он мне ошибочно сообщает: «адрес неправильный». Я теряю пользователя. Ваш сервис принёс мне минус.


        Так в чём для меня смысл использовать сторонний сервис, вместо того, чтобы проверить адрес самостоятельно?


        1. AleksandrRazoR Автор
          28.03.2018 15:10

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


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

          Можно поподробнее? «Если вы будете отсылать письмо по введенному пользователем email сами, то в вашем приложении будут такие-то ошибки, а если отдадите этот адрес нам — в вашем приложении количесво таких ошибок уменьшится на 100500%».
          _________

          Рассмотрим два варианта:
          Я самостоятельно отправляю ссылку для активации на несуществующий адрес. По ней просто никто не перейдёт, и неактивный аккаунт и неподтверждённый email я самостоятельно удалю из базы. Ваш сервис для меня не несёт никаких плюсов.
          Я отправляю адрес для проверки вашему сервису. Он мне ошибочно сообщает: «адрес неправильный». Я теряю пользователя. Ваш сервис принёс мне минус.

          Так в чём для меня смысл использовать сторонний сервис, вместо того, чтобы проверить адрес самостоятельно?

          В первом варианте вам не надо ничего отправлять и потом удалять. Это ваши время/ресурсы. Во вотром случае, маловероятно. Только если почтовый сервер криво настроен.

          Можно все делать самостоятельно, если есть время, ресурсы, знания/деньги. Но в интернете существует более 1,7 миллиардов веб сайтов и не все делают это самостоятельно, а используют существующие решения.


          1. KYuri
            28.03.2018 16:04

            Отправка писем на несуществующие емейлы может иметь риски
            Я знаю только один такой риск — получить отлуп «нет такого сервера/ящика». Расскажете об остальных?

            Поэтому все сервисы емейл рассылок, такие как Mailchimp обязательно проверяют списки рассылок.
            Во-первых, не надо путать массовые рассылки и проверку наличия почтового адреса.
            Во-вторых, есть большое подозрение, что сервисы email-рассылок используют такую проверку в качестве одного из факторов для ответа на вопрос «а не используют ли меня спамеры?».

            Во вотром случае, маловероятно. Только если почтовый сервер криво настроен.
            Нет, не только. Ваш сервис пишется людьми. Люди совершают ошибки.
            И код рассылки писем с подтверждающими ссылками собственными силами, и код вашего сервиса могут содержать ошибки. Но есть отличия:
            • При самостоятельной рассылке обнаружить ошибку можно по логам; при использовании стороннего сервиса остаётся только надеяться, что он не ошибается
            • При обнаружении ошибки в своём коде её можно поправить, ошибку в стороннем сервисе можно только «зарепортить» и надеяться, что её поправят
            • Изменения своего кода можно контролировать; изменения внешнего сервиса — нет


            Можно все делать самостоятельно, если есть время, ресурсы, знания/деньги
            Вы своим клиентам какие гарантии дадите, что завтра сервис не закроется? Что не забудете домен продлить? Что не ляжете под DDOS?
            Если таких гарантий нет, то всё равно придётся тратить «время, ресурсы, знания/деньги», чтобы в случае неработоспособности внешнего сервиса самому не сломаться.


            1. AleksandrRazoR Автор
              28.03.2018 17:40

              Отправка писем на несуществующие емейлы может иметь риски
              Я знаю только один такой риск — получить отлуп «нет такого сервера/ящика». Расскажете об остальных?

              Риск попадания в спам листы. Если с вашего сервера будут отправляться письма на несуществующие адреса, на допустим gmail, то вероятность попадания ваших писем в спам значительно возрастает в будущем.

              Во-вторых, есть большое подозрение, что сервисы email-рассылок используют такую проверку в качестве одного из факторов для ответа на вопрос «а не используют ли меня спамеры?».

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

              Мы ведем логи, каждый запрос доступен в ПУ.
              Ошибки исправляются, так как это влияет на качество сервиса, а мы стараемся делать все качественно.
              Вы своим клиентам какие гарантии дадите, что завтра сервис не закроется? Что не забудете домен продлить?

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

              С DDoS мы пока справлялись своими силами. Было две атаки и оба раза мы использовали нашу базу данных спам IP адресов для блокирования. Сервис использует несколько серверов для обработки запросов пользователей, что снижает вероятность полного отказа сервиса, увеличится время ответа API. Сами плагины, установленные на CMS клиентов (если не будет связи ни с одним из серверов) будут работать с ограничениями, при которых увеличится вероятность пропуска спама. Но за 5 с лишним лет такого не было, что бы сразу все сервера были не доступны.


              1. KYuri
                28.03.2018 21:39

                Если с вашего сервера будут отправляться письма на несуществующие адреса, на допустим gmail, то вероятность попадания ваших писем в спам значительно возрастает в будущем.
                Допустим, дело обстоит так.

                Тогда разве ваш сервис, который
                использует MX-записи домена адреса электронной почты и подключается к почтовым серверам (через SMTP, а также имитирует отправку сообщения), чтобы убедиться, что почтовый ящик действительно существует
                в такой же ситуации не попадёт в спам-листы?

                Мне кажется, так можно про любую компанию сказать
                Именно так дело и обстоит. Если я использую в своём бизнес-процессе сторонний сервис, я становлюсь от него зависимым.

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

                Поэтому лично мне и непонятно, зачем становиться зависимым от стороннего сервиса, когда тот же функционал можно реализовать и самому.


                1. AleksandrRazoR Автор
                  29.03.2018 09:01

                  в такой же ситуации не попадёт в спам-листы?


                  Нет не попадет, так как мы не шлем письма. Это делается запросами HELLO или EHLO.

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

                  Спасибо за ваши комментарии!


                  1. mxms
                    30.03.2018 16:35

                    Нет не попадет, так как мы не шлем письма. Это делается запросами HELLO или EHLO.

                    Извините, но для некоторых, в том числе и серьёзных почтовых систем, проверка исключительно на стадии HELO/RCPT TO не работает, поскольку он на любой, даже не существующий адрес, даётся ответ 250.
                    Отсюда следует, что более или менее надёжный способ проверить существование ящика, это попытаться отправить на него письмо. Причём это тоже не гарантирует его существование, поскольку это может быть спам-ловушка или вообще настроенный для тех же целей catch-all.


                1. belousovsw
                  29.03.2018 09:02

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


      1. antonn
        28.03.2018 15:18

        Для активации аккаунта необходимо отправить на него сообщение и дождаться действий пользователя. Самому пользователю сайт показывает сообщение «на адрес %mail% выслано письмо для активации», если там есть опечатка — пользователь увидит ее и предпримет меры. Форма отправки через капчу (защита от автоматизированного спама письмами активации), так что повторные отправки писем нами не особо нагрузят почтовые сервера пользователя (вдруг было 10 опечаток).
        Зачем тут еще одно звено, да еще сторонний сервис — не ясно.


        1. AleksandrRazoR Автор
          28.03.2018 17:22

          Не все сайты, не для каждой формы используют подтверждение по емейл(при этом любые лишние действия пользователя снижают конверсию). И если для регистраций подтверждение используется, то для контакт форм, комментариев и даже подписок на новости(хотя там должно быть такое подтверждение подписки), не используется. Поэтому в этих формах возможно использование фейковых емейлов.

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

          Капча обходится ботами.


          1. antonn
            29.03.2018 12:10

            Капча обходится ботами.

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

            Если в формах ответов, не требующих проверки емейла, вы позволяете пользователю вводить какой угодно емейл, значит эта информация является опциональной и не критичной. А что если пользователь введет почту с опечаткой в форме обратной связи, блокировать отправку сообщения? А что если стороннему сервису показалось что этот емейл спамовый, потому что любая поверхностная аналитика не дает 100%-х гарантий, мне опять отвергать сообщение пользователя?


            1. shagimuratov
              29.03.2018 13:42

              Не все пользователи готовы разгадывать капчи, кто-то просто уходит с формы, т.е. вы теряете полезный трафик. Количество false/postive на капче считаете?

              У нас false/negative 0.0008%, false/positive 0.0002% на 2млн. спам атак в сутки.

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

              Велкам,
              github.com/CleanTalk/php-antispam


              1. antonn
                29.03.2018 15:57

                Количество false/postive на капче считаете?

                На одном сайте капча «сильно» математическая (примеры со скобками :) ), там бывает с ответом ошибаются, изредка. На других практически нет ошибок пользователей. Боты спотыкаются постоянно. Автоматизированного подсчета статистики нет, в логах периодически просматриваю глазами.

                Что мешает спам-боту вписывать в поля адреса собранные на страницах профилей того же самого форума (они же все равно, в таком случае, не проверяются)? С точки зрения стороннего сервиса это будет валидный постинг?


                1. shagimuratov
                  29.03.2018 19:31

                  Что мешает спам-боту вписывать в поля адреса собранные на страницах профилей того же самого форума (они же все равно, в таком случае, не проверяются)? С точки зрения стороннего сервиса это будет валидный постинг?

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


                  1. antonn
                    30.03.2018 10:41

                    Какой безопасности? Безопасность основанная на принципе «не виден — значит в безопасности» дает ложное чувство защиты. Множество сайтов предоставляет пользователям отображать е-мейл в профилях (а то и вовсе сразу в формах комментариев), потому что е-мейл — это самый обычный и простой для интернета способ связи. Следовательно, обсуждаемый подход к «защиты» просто не применим на ресурсах, где в профиле можно увидеть е-мейл пользователя?
                    Продолжаем логику: обходим ресурсы где почта доступна, набиваем базу, фильтруем по активным пользователям (часто видно дату и время последнего посещения). Потом бот постит на другом ресурсе сообщения подставляя собранные адреса. Зачем тут сторонний сервис с «проверкой написания е-мейлов» и от чего он защитит? Что будет с е-мейлом пользователя от имени которого был бахнут массив спама, он попадет в категорию спам? Отличная подстава.


                    1. shagimuratov
                      30.03.2018 11:12

                      Да, теоритически можно компрометировать настоящего владельца Email адреса постя сообщения от его имени, к примеру так,
                      cleantalk.org/blacklists/johnd530@gmail.com

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


  1. DimaTiunov
    29.03.2018 09:01

    Делал себе 6 лет назад похожую систему, а теперь вижу похожее тут) Удачи в развитии сервиса.


    1. AleksandrRazoR Автор
      29.03.2018 09:03

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


  1. mapatka
    29.03.2018 15:10

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