Что такое сборщик почты
Какой сервис почты выбрать
В этой статье речь пойдет о том, что такое «почта из других ящиков» и «сбор писем из других аккаунтов». Обзоры почтовых сервисов и сравнения.
По мере обновления функционала почтовых сервисов мы будем публиковать новости в конце этой статьи.
Почтовый сервис Mail.ru, поисковые системы Yandex и Google уже несколько лет предлагают очень полезный и нужный функционал, который позволяет объединить в одной почте все остальные e-mail аккаунты. Иными словами, стоит один раз добавить и настроить все свои «почты», и управлять ими станет возможно в одном окне без постоянного ввода логина и пароля.
Почтовые сервисы предлагают нам огромное место для хранения всех входящих писем, удобный интерфейс, хороший функционал по управлению и многое другое. Чтобы протестировать возможности перечисленных почтовых сервисов, выделим три параметра для оценки их работы: 1) необходимо управлять различными e-mail аккаунтами, в том числе с различных сервисов и сайтов, через один почтовый клиент; 2) иметь личную подпись и имя для каждой почты; 3) удалять письма с серверов тех почтовых аккаунтов, которые были добавлены в mail, yandex или google почты.
Наша задача выглядит так:
Итак, приступим. Первым тестируем сервис от Mail.ru, который сообщает нам: «Вы можете собирать почту из всех ваших почтовых ящиков в один ящик на Mail.ru.
Настройте сбор писем с любого сервера, работающего по протоколу IMAP или POP3». Для добавления внешней почты, отличной от @mail, @inbox, @list, @bk, нужно иметь хотя бы одну почту, которая уже имеется на перечисленных серверах от mail. Иными словами, сначала зарегистрируйте mail-почту, а затем уже добавляйте другие почтовые аккаунты. Процесс регистрации на mail прост, описывать его нет смысла, а вот добавление других e-mail в этот почтовый аккаунт опишем.
После регистрации жмем на ссылку «Настройки» и выбираем «Почта из других ящиков». Выглядит это так:
Далее вам будет предложено ввести логин и пароль от любого ящика, которым вы пользуетесь, и в течение 3-5 минут «Сборщик почты от mail» создаст папку с наименованием добавленной почты рядом с папками «входящие», «отправленные», «спам» и прочее.
На деле, сборщик писем заработает в течение 10-15 минут и во вновь созданную папку от указанного вами ящика добавит все письма. Все входящие письма для нового e-mail будут приходить в эту папку, также станет возможным отправлять письма от прикрепленного ящика. При создании нового письма появится поле «От», в котором можно выбрать, с какого почтового ящика будет отправлено письмо.
К плюсам почтового сервиса Mail.ru можно отнести простоту добавления и легкость настройки других ящиков, отсутствие необходимости указывать различные протоколы (POP3, SMTP). Это очень важно, потому что не каждый пользователь знает, что это такое.
Минусы Mail.ru заключаются в том, что назначить имя и подпись для каждой вновь добавленной почты (любому новому e-mail, кроме основного) нельзя, то есть на каждый адрес будет распространяться имя и подпись главной почты и все. Другим большим недостатком является то, что при загрузке писем в mail нет возможности автоматического удаления оригинальных писем с сервера прикрепленного ящика. Почему так важно удалять письма с сервера добавленного ящика? Это позволит избежать заполнения присоединенной почты, т.к. внешние e-mail аккаунты, как правило, имеют слишком маленький размер для хранения писем. Например, при переполнении почтового пространства во внешнем аккаунте, Mail.ru не отобразит никаких новых писем, пока Вы не войдете в интерфейс внешней почты и непосредственно оттуда не удалите письма для освобождения места. К тому же, мы привязываем почту к Mail в надежде получить много места для хранения нашей почты, которая, возможно, ограничена ресурсами хостинга. Таким образом, несмотря на то, что Mail.ru предлагает практически неограниченный объем почтового ящика, при добавлении почты из другой доменной зоны (например, 123@primer.ru), ваши ресурсы добавленного e-mail не увеличатся в Mail.ru, а будут по-прежнему ограничены ресурсами хостинга (в нашем случае, ресурсами primer.ru).
Возможность добавления другой почты на сервис Mail не угодил нашей задаче по двум пунктам из трех, итого набрал один балл.
Правда у Mail.ru есть еще один способ добавления внешней почты, а если говорить точнее, то подключение или вход на внешнюю почту. Выглядит это так:
Данный способ не подходит для нашей задачи, т.к. это не сборщик почты, а режим пользователя, который подключается к почте и каждый раз загружает в интерфейс mail все папки и письма. Но здесь возможно добавить для каждой почты личную подпись и имя, имеется возможность отправки писем от настроенной почты. Удаление писем с загруженных ящиков не работает, т.к. это не сборщик почты.
Важно! Некоторые пользователи ошибочно думают, что если письма отобразились в mail, то почту, с которой произошла загрузка, можно очистить. Обратим внимание еще раз, что Mail.ru работает как просмотрщик почты, и если вы очистите почту, то она удалится и в основном ящике, и в mail.
Второй испытуемый Яндекс со своим сборщиком писем. Задачи поставлены аналогичные: собрать почту, присвоить для каждой почты свою подпись и имя, а также удалить всю почту с добавленного ящика.
Настраивается сборщик писем у Яндекса по аналогичной схеме, но если подключение почты происходит с какого-нибудь сайта, например site.ru, то необходимо будет прописать дополнительные настройки, см. скриншот.
Сервис Mail делал эту работу за нас, Яндекс же предлагает в ручном режиме выставить все настройки от сторонней почты. Тут нет ничего сложного: в поле логин вводим полное название почты (mail@site.ru), в поле сервер вводим только домен (site.ru), все остальные настройки лучше оставить по умолчанию, либо изменить, если вы знаете, что делаете. После успешного добавления почты, появится надпись:
В отличие от Mail сборщика, Яндекс предлагает выбрать, сохранять ли оригиналы писем в добавляемом ящике или нет. Во всем другом сборщик писем от Яндекса работает по аналогичной схеме с Mail.ru, есть возможность выбора почтового ящика, от которого отправлять письмо. Но вот с подписью писем у Яндекса такая же проблема: нет возможности задать для каждого добавленного почтового ящика индивидуальное имя и подпись.
Судя по навигации, возможность добавления индивидуальной подписи для каждого почтового ящика есть, но на деле она не работает. Выбираем почту, прописываем имя и подпись, нажимаем сохранить. Все, подпись сохранена и работает, но она также сохраняется и для всех остальных почтовых ящиков, то есть присваивая имя и подпись одному ящику, вы автоматически изменяете эти параметры во всех объединенных в Яндексе почтах. Даже в случае выбора любого другого ящика подпись теперь всюду будет аналогичной.
Итого Яндекс успешно справился со сбором и сортировкой почты, умеет удалять оригиналы писем с добавленного ящика, но с подписями работать не умеет! С нашей задачей сборщик писем от Яндекса не справился и набирает два балла из трех.
Чтобы настроить сбор писем в интерфейсе Гугла, заходим, как показано на скриншоте, в раздел «Настройки» и «Аккаунты». Нажимаем ссылку «Добавить другой свой адрес электронной почты».
Далее откроется диалоговое окно, в котором будет предложено настроить несколько параметров для другой почты.
Здесь все настраиваемые поля подписаны и понятны, а в случае вопросов, можно кликнуть на ссылку «подробнее» и прочитать всю информацию по данному разделу. Тут стоит похвалить Google за предоставление такой подробной и понятной информации по добавлению других почтовых ящиков.
После настройки имени, подписи и прочих параметров для каждого почтового ящика необходимо будет создать соединение на входящую почту с этих ящиков. Для этого кликаем по ссылке «Добавьте свой почтовый аккаунт POP3».
Появится уже знакомое диалоговое окно, в котором все также понятно и просто настраивается. На этом настройка почты, а именно сбор и отправка писем от любой почты, окончены.
Google предлагает много других возможностей. Например, пришло письмо на один из настроенных ящиков, в этом же окне возможно отправить от главного почтового ящика или от того, на который пришло письмо. Все это настраивается легко и просто!
Итак, сборщик почты от Гугл справился на 100% и набирает три балла из трех. Он позволяет собирать почту с других ящиков, удалять оригиналы писем с прикрепленного ящика, а также создавать имя и подпись для каждой добавленной почты. Таким образом, только Google предлагает работать со всеми имеющимися у вас почтовыми ящиками оперативно и компактно (через объединенный главный почтовый ящик и его интерфейс), настраивать любые желаемые параметры (в том числе присваивать для каждого e-mail свои имя и подпись при ответе), а также непосредственно из главного Гугл ящика изменять (удалять, сохранять, т.п.) содержимое других прикрепленных электронных почт, что особенно удобно при ограничении в них доступного размера.
Но и в сборщике писем от Гугла мы нашли минус, связан он с ограничением на количество добавляемых почтовых ящиков, всего возможно добавить не более 5 аккаунтов в раздел «Проверить почту из других аккаунтов (с помощью POP3):». Пожалуй второй минус это реклама, она в интерфейсе Google везде: сверху, снизу, сбоку.
Хочется отметить, что, «покопавшись» во всех трех сервисах по сборке писем, создается впечатление, что Mail «сляпали» свой функционал на скорую руку. Он хоть и удовлетворит большинство пользователей, но, честно сказать, Маил сделали сборщик почты для галочки, чтобы отметиться в конкурентной гонке. Работает все хорошо и без сбоев, но с нашей задачей сборщик от Маил не справился. В интерфейсе почты имеются несколько рекламных блоков, но они не мешают работать с письмами.
Что касается Yandex, который создал сборщик писем давным давно, создается ощущение, что поддержкой именно этой отрасли не занимаются, потому что исправить столь простой функционал (возможность добавления нескольких подписей для ящиков) не должен быть сложным для такой мощной поисковой машины. Тем не менее, у Яндекса появился другой уникальный функционал, позволяющий привязывать домены на их dns сервера, а уже в последующем создавать и настраивать почту. Но для таких операций и настроек требуются знания и время. И хотя ничего сложного там нет, в любом случае, это не для большинства пользователей рунета. Большой плюс — нет рекламы в интерфейсе Яндекс почты! Минус — ограничение в сборщике писем на 10 почтовых ящиков.
Финалист и победитель — сборщик писем от Google, который на ура справился с нашей задачей, несмотря даже на ограничение в 5 ящиковДополнительные материалы к статье по мере обновления почтовых сервисов
Обновление в Январе почты Яндекс обрадовало многих пользователей этого сервиса, теперь возможно создавать ОТДЕЛЬНЫЕ подписи для каждой добавленной почты. Если вы все еще не можете определиться со сборщиком писем, то мы ОЧЕНЬ рекомендуем использовать Яндекс Почту, почему? Да просто взгляните на таблицу.
Что такое сборщик почты
Если у вас есть почтовые ящики на других почтовых сервисах, настройте сборщик писем. Письма с указанного ящика будут приходить в вашу почту, и вся информация сохранится в одном месте.
Чтобы сборщик работал корректно, вы должны его настраивать, находясь в аккаунте Mail.ru.
Включить сборщик писем
Настройте сборщик: выберите, в какую папку сохранять письма и применять ли фильтры.
Если сбор писем настроен по протоколу IMAP, вы сможете отвечать на письма с того ящика, на который отправлено письмо.
Отключить и удалить сборщик
Перейдите → «Все настройки» → «Почта из других ящиков».
Нажмите на переключатель чтобы он стал серым — это значит, что сборщик отключен. Если вы хотите отредактировать настройки, нажмите «Изменить». Чтобы удалить сборщик, нажмите
.
Чтобы удалить сборщик из списка папок, удалите сначала папки внутри, а затем саму папку сборщика.
Сборщик почты (делаем простые вещи сложно)
В качестве предисловия
Наверное, многие из вас в своей практике сталкивались с задачей сбора почты с ряда ящиков. Зачем это может быть нужно? Наверное, потому что это универсальный механизм обмена данными между системами. Множество библиотек под любые языки, реализующих SMTP, POP3, IMAP, готовые решения по реализации стэка сообщений (как я сложно назвал почтовый ящик. ) и т.д.
Неудивительно, что многие интеграционные задачи реализуются именно через почту. Тут в дело вступает некий сервис, который умеет эту почту быстро забирать, категоризировать и выполнять необходимые действия.
Кому достаточно приведенного ниже кода — дальше могут не читать:
Что будем делать
Сразу сделаем ряд допущений:
1) Собирать почту нужно для нескольких систем. Может в будущем ещё для нескольких. И ещё… В общем решение должно быть универсальное;
2) Почты возможно будет много — следует из пункта 1 (а иначе я бы не писал этот пост);
3) Почту придется парсить;
4) Все ящики сервисные — пользователи туда не лезут.
Что будем использовать
Система должна работать 24/7, поэтому реализуем её в виде Windows Service. Для этих целей предлагаю сразу использовать TopShelf.
Разумеется, всё должно быть распараллелено. Тут на сцену выходит моя любимая библиотека TPL DataFlow.
Забирать почту будем по POP3. Все «модные штучки» IMAP в данной задаче излишни — надо как можно быстрее и проще забрать исходник письма и удалить его на сервера. POP3 тут хватит за глаза. Используем OpenPop.NET.
Как уже говорилось, почту будем парсить. Может через Regex, может кастомные логики… мало ли что. Именно поэтому нужно гибко и быстро подпихивать новые правила с помощью плагинов. Тут нам поможет Managed Extensibility Framework.
В качестве факультатива прикрутим мониторинг в Zabbix. (Мы же собрались работать 24/7 и выдавать хваленую скорость — нужно следить за этим).
Поехали
Создаем обычное консольное приложение. Открываем NuGet консоль и ставим все нужные пакеты:
Переходим в папку проекта, создаем App.Debug.config и App.Release.config. Выгружаем проект из студии, открываем его код (Здесь и далее TopCrawler.csproj). В секцию с конфигом добавляем:
А ниже собственный таргет для MSBuild:
Лично я привык именно таким способом — по старинке — добавлять трансформацию конфигов для разделения сред.
Для удобства предлагаю strongly-type конфиги. Отдельный класс будет читать конфигурацию. (О теоретических аспектах такого решения можно пообщаться в комментах). Конфиги, логи, мониторинг — отличный повод реализовать паттерн Singleton.
Создаем в проекте одноименную папку (должен же быть порядок). Внутри создаем 3 класса — Config, Logger, Zabbix. Наш логгер:
Мониторинг с помощью Zabbix заслуживает отдельного поста, поэтому я просто оставлю тут класс, реализующий агента:
Конфиги… Пора уже делать хоть что-то интересное. Во-первых, в конфигах будем хранить ящики, которые мы опрашиваем. Во вторых настройки DataFlow. Предлагаю так:
Итак, хост и порт куда конектится, юзер и пароль — тут всё понятно. Дальше тип ящика. Допустим, служба используется маркетингом (как и другими отделами). У них есть ящики, куда сваливаются автоответы на рассылки, а также отчеты о спаме FBL. Сам ящик уже категоризирует письмо, поэтому для таких ситуаций сразу задаем тип ящика. С настройками DataFlow будет понятно дальше, когда начнем создавать объекты. Тут у нас будут собственные секции в конфиге. Мануалов куча как это сделать, поэтому просто покажу результат:
Полную реализацию конфига писать не буду, подразумевается, что в процессе разработки туда будут добавляться нужные нам параметры.
Наши кастомные настройки прочитаем так:
Как-то очень затянуто получается, а мы даже не дошли до самого интересного.
Опустим пока обвязку из TopShelf, счетчики производительности, общение с БД и перейдем к делу! Создаем класс Crawler — ядро. Для начала читаем почту:
Вот тут лень взяла свое и я решил не заморачиваться — если ящиков порядка 20-30 можно под каждый запустить таск и не париться о количестве потоков. (Разрешаю закидать помидорами.)
Переходим к самому чтению:
Сразу посчитаем тайминги доступа к ящику — пригодится для диагностики сети и загруженности сервера.
Отправляем данные в Zabbix. Всё просто — указываем имя хоста (как оно заведено в Zabbix), ключ (опять таки строго, как в Zabbix) и строковое значение.
DataFlow pipeline будет создана при создании класса Crawler. Считаем, что наш первый этап — отсортировать письмо.
Видите, как просто — сам конвейер один. Все таски, читающие почту, кидают туда сообщения по одному. Если блок занят, Post вернет false и мы просто подождем пока он не освободится. Текущий потом в это время продолжает работать. Вот это я называю параллелизм без забот.
Сообщение ушло на конвейер, теперь его можно со спокойной душой сохранить в RAW архив (да-да! всё, что читаем — сохраняем в файловый архив. Служба поддержки нам потом скажет спасибо).
Настроим, например, ротацию архива:
Потом на него можно натравить logStash, но это уже другая история…
Здесь мы использовали статические счетчики ошибок (в разрезе типов ящиков), где ErrorsCounters — это:
А сами счетчики можно сделать так:
Перейдем к созданию конвейера. Допустим, у нас есть ящики, куда сыпятся автоответы. Такие письма надо распарсить (что за автоответ, от кого, по какой рассылке и т.д.) и сложить результат в хранилище (БД). Допустим, есть ящики, куда падают FBL отчеты. Такие письма сразу складываем в базу. Все прочие письма считаем «полезными» — их надо проверить на спам и отправить во внешнюю систему, например, CRM.
Как вы уже поняли, данный пример в основном рассматривает применение сборщика для задач маркетинга — сбор статистики по доставке почты, информация о спаме.
Итак, мы определились с рабочим потоком. Объявляем необходимые блоки в классе Crawler:
Создаем метод инициализации и создаем блоки конвейера (для инициализации блоков используем наши замечательные секции из конфигов):
Собираем конвейер в соответствии с нашей схемой:
Как видим, всё предельно просто — связываем блок со следующим (с возможностью задания условия связи). Все блоки исполняются параллельно. Каждый блок имеет степень параллелизма и емкость (с помощью емкости можно регулировать очередь перед блоком, то есть блок сообщение принял, но еще не обрабатывает). Таким образом, можно задавать высокую степень параллелизма для «сложных» и долгих операций, как, например, парсинг содержимого письма.
Не буду описывать матчасть DataFlow, лучше всё прочесть в первоисточнике TPL DataFlow.
Далее задаем правила выхода из блока:
Всё, на самом деле конвейер уже работает, можно постить в него сообщения. Осталось только остановить его дополнив наш метод Start:
Переходим к делегатам.
Сортировка… Ну, допустим у нас всё просто (усложнить то всегда успеем):
Спам фильтр. Это на домашнюю работу — используйте SpamAssassin.
Вот вам делегат:
И классы для работы с API SpamAssassin (ссылка на проект).
А мы переходим к парсингу писем. Парсим мы автоответы. Тут вступает в дело MEF.
Создаем проект (dll) с интерфейсами для наших плагинов (Назовем Interfaces).
Добавляем интерфейс:
И… всё. Наш TopCrawler зависит от этого проекта и проект с плагинами тоже будет использовать его.
Создаем новый проект (тоже dll), назовем Conditions.
Добавим типы автоответов:
И классы, реализующие наш интерфейс:
Как вы заметилиб всё дело в атрибутах. С помощью них плагины и будут загружены.
Возвращаемся к нашему проекту и загружаем плагины:
LoadPlugins дергаем в конструкторе нашего класса. Объяснять подробно про механизм загрузки не буду — гугл справится лучше.
Переходим к нашему делегату проверки типа Bounce. Условия будут применяться по очереди, пока не сработает первое — исключающий метод:
Таким образомб если появляется новая логикаб достаточно просто добавить в проект с плагинами новый класс, реализующий наш интерфейс и — вуаля! Пример второго плагина по определению отправителя письма прикладывать не буду — итак уже длинный пост (Автоответ сгенерировал сам сервер, поэтому отправителя тоже надо распарсить из заголовков письма).
С записью результатов в БД тоже ничего необычного. Например, так:
Простите, что не успел показать TopShelf — пост и так уже слишком раздулся.
Выводы
В этом уроке мы узнали, что задача сбора почты может оказаться не такой простой. Разработанное ядро позволяет быстро добавлять новые шаги процесса — DataFlow-блоки, не затрагивая существующую логику. Подсистема плагинов позволяет быстро наращивать скриптоподобную логику парсинга, а сам DataFlow распараллеливает все вычисления (причем мы имеем возможность гибко настраивать многопоточность под конкретную машину). TopShelf дает нам возможность запускать сервис как в режиме службы, так и в консольном режиме для облегчения отладки.
Фух… Если будет интересно, дальше расскажу, как поставить это на рельсы Continious Integration, настроить автобилды и выпуск релиза через VS Release Management.
Что такое парсер email-адресов и когда есть смысл его использовать
Блочный редактор писем, готовые шаблоны email, формы подписки и автоматизация. Запускайте email-рассылки, чтобы быть на связи со своими клиентами.
Где взять базу? Как сделать красивое письмо? Какие показатели смотреть? Расскажем об этом в бесплатном курсе из 16 писем. Татуировка в каждом письме!
Рассказываем про инструменты для email-рассылок. Обсуждаем лучшие примеры и механики. Говорим о деньгах. Публикуем вакансии.
Для запуска любой email-рассылки необходима база подписчиков. Чтобы собрать электронные адреса, можно пойти стандартным путём — вовлекать аудиторию в общение, рассказывать о потенциальной пользе, собирать контакты в обмен на что-то ценное. А можно использовать граббер email-адресов (парсер), который в кратчайшие сроки соберёт десятки тысяч контактов потенциальных подписчиков.
Парсер выглядит простым вариантом, но на деле все совсем непросто — особенно, если вы захотите собрать email-адреса.
Что такое парсинг
Представьте, что пользователь посещает различные сайты, копирует с них данные и сортирует их с учётом нужных критериев. Так работает парсинг, только вместо пользователей по сайтам ходят специальные роботы. Сервис-парсер обращается к страницам целевого сайта, получает HTML-код, ищет в нём нужные данные и сохраняет их в собственной базе.
Парсить можно самые разные данные. Например, можно собирать телефоны, прайсы, каталоги товаров, структуру сайтов и многое другое. В том числе можно парсить email-адреса. Для этого в настройках сервиса (или в скрипте) указывают параметры отслеживания — элементы, составляющие электронный адрес («@», «email»). Как только парсер находит совпадения, он отправляет данные в базу. По итогам парсинга пользователь получает список, состоящий из URL сайтов и собранных email.
Преимущества парсинга очевидны:
Применение парсинга выглядит очень удобным. Но вот с законностью есть проблемы.
Почему в большинстве случаев парсинг — не вариант
В ФЗ №149 «Об информации…» сказано, что «К общедоступной информации относятся общеизвестные сведения и иная информация, доступ к которой не ограничен». Поскольку в большинстве случаев парсер собирает открытые данные, опубликованные в общем доступе, это не запрещено законом. Но есть нюансы. Парсинг признают легальным инструментом, если он не нарушает какой-либо закон. Рассмотрим, причиной каких нарушений может стать парсинг.
Нарушение авторских и смежных прав
У любого контента в интернете есть автор или правообладатель, даже если это не указано в подписи к материалу. Нормы об авторском праве в некоторых случаях позволяют использовать чужой контент без разрешения владельца: при использовании цитирования, в информационных или образовательных целях. Однако если авторские произведения используют с целью получения дохода, видоизменяют либо присваивают авторство — это признают нарушением авторских прав. Нарушителя ждёт административный штраф.
Например, нельзя парсить чужой контент и публиковать его от своего имени — это нарушение авторских прав.
Вывод
Парсинг любой информации для получения коммерческой выгоды запрещён.
Неправомерный доступ к компьютерной информации
Закон запрещает неправомерный доступ к информации, если это повлекло за собой уничтожение, блокировку, изменение или копирование сведений. Нарушителя могут оштрафовать, отправить на, исправительные или принудительные работы или лишить свободы.
Если даже парсинг никак не влияет на контент, парсер в любом случае копирует информацию. Не понятно, что понимать под неправомерным доступом. Можно предположить, что это любая попытка неавторизованного входа, когда доступ к информации ограничен, защищён или запрещён. Например, для использования сайта требуется регистрация пользователя. К незаконным методам можно отнести и обход технической блокировки парсинга.
Вывод
Нельзя парсить данные, доступ к которым требует дополнительных действий со стороны пользователя. То есть, запрещено обходить блокировку парсинга, взламывать пароли, получать доступ к закрытым сведениям.
Использование гражданских прав для ограничения конкуренции
В законе есть такое понятие, как злоупотребление правом. Например, любой пользователь имеет право пользоваться общедоступной информацией, но только если это не вредит другим лицам. Кроме того, запрещено использовать гражданские права с целью навредить конкурентам.
Получается, что если парсинг причиняет вред конкурентам, это незаконно. Пострадавшее лицо может потребовать возместить убытки. К примеру, парсер собирает закрытые базы данных конкурирующих организаций, чтобы использовать их для обхода конкурентов.
Вывод
Нельзя использовать парсинг с целью навредить конкурентам или обрести доминирующее положение на рынке благодаря определённым сведениям.
Разглашение коммерческой тайны
Запрещено собирать сведения, которые представляют коммерческую тайну. За это могут оштрафовать, отправить на исправительные или принудительные работы и даже лишить свободы. При разглашении или использовании коммерческих сведений без согласия владельца наказание увеличивают.
Коммерческой тайной могут быть списки клиентов и поставщиков, методы сбыта, исходные коды и прочее. Основные критерии — ограниченный доступ и получение экономической выгоды от использования данных.
Вывод
Запрещено применять парсинг для доступа к закрытой коммерческой информации, даже если впоследствии эта информация не будет использована.
Незаконное обращение с персональными данными
Без разрешения владельца нельзя собирать, обрабатывать и использовать персональные данные. Причём не имеет значения то, что человек сам разместил свои данные в открытом доступе. Это не делает их общедоступными.
При парсинге бывает сложно определить, что можно считать персональными данными. По закону это любая информация, которая прямо или косвенно относится к определяемому физическому лицу. При этом не существуют унифицированного перечня видов данных. К персональной информации можно отнести любые сведения, которые позволяют идентифицировать человека.
Например, парсер собирает телефоны пользователей без ФИО. Но каждый номер закреплён за человеком по договору с оператором. Теоретически пользователя можно идентифицировать и телефонные номера можно признать персональными данными.
Вывод
Нельзя парсить персональные данные.
Приведу несколько ситуаций, в которых парсинг не запрещен и может быть полезен владельцам сайтов и маркетологам:
Можно ли парсить и использовать email-адреса
Получается, что, парсинг законом разрешён как инструмент. Но имеет значение, что именно парсить и для каких целей.
Какие email-адреса можно парсить
Не всегда ясно, можно ли признать email-адреса персональной информацией. Сам по себе адрес электронной почты — это обезличенный набор букв и цифр. По нему сложно определить конкретного владельца. Например, mir1234@gmail.com или qwerty@mail.ru. Такие адреса нельзя считать персональными данными и, соответственно, их можно парсить.
А вот если вместе с теми же адресами парсят ФИО владельцев, то это уже незаконный сбор персональных данных. Пример: Иван Иванов — mir1234@gmail.com, Маша Петрова — qwerty@mail.ru.
Адреса электронной почты могут стать персональными данными, если в них есть информация, которая помогает идентифицировать человека: имя, фамилия, отчество, город проживания, год рождения. К примеру, olegsidorov@gmail.com, kotow15031994@yandex.ru. Парсинг таких адресов будет нарушением закона.
Ещё один нюанс в принадлежности email. В законе о персональных данных говорится о принадлежности информации физическому лицу. Соответственно, если электронный адрес принадлежит юридическому лицу, то он не признаётся персональной информацией.
То есть, если с помощью граббера собирают email-адреса компаний, даже в сочетании с названиями организаций, это не считается нарушением закона. Исключение — парсинг списков email-адресов организаций, которые составляют коммерческую тайну и/или защищены от несанкционированного доступа.