Протокол IMAP, или о том, как мы данные из писем вытаскивали
Электронная почта – это важнейший инструмент для обмена информацией и если вы её используете для работы, то наверняка сталкивались с ситуацией: на почту приходит письмо, в котором содержатся данные необходимые для обработки скрипом. Говорить мы будем о Яндекс почте – в этой статье я поделюсь с вами, дорогие читатели, опытом как достать письма из ящика, так же мы разберем вариант, когда в письме есть вложенный файл — как его обнаружить и в итоге скачать для дальнейших манипуляций над ним.
Сам я с этой задачей столкнулся достаточно давно, и тогда при наличии малого опыта работы c почтовыми программами Яндекса потратил массу времени и нервов для достижения требуемого результата. Первая моя ошибка заключалась в том, что, как многие веб-разработчики, я начел интенсивно искать похожие примеры в сети, но не воспользовался самой справкой (помощью) Яндекс. Да, там есть полезная информация, хотя её и очень мало, но она достаточно важная для написания такого рода скрипта (об этом будет ниже). На то время требовалось написать скрипт, суть которого сводилось: на Яндекс почту заказчика приходило письмо с прайсом товаров в xls формате раз в сутки, его необходимо было обработать (распарсить и сравнить с данными из БД интернет магазина и, в зависимости от результата, что-то обновить где-то, отключить или включить).
И первое, что мы сделаем перед написанием скрипта – это наметим наш план действий, который будет состоять из девяти пунктов:
- Настроим почту для получения доступа через почтовые протоколы;
- Наметим саму структуру PHP приложения и определимся с кодировкой файлов;
- Познакомимся с почтовым протоколом IMAP и его возможностями;
- Подключимся к Яндекс почте через логин и пароль аккаунта и отследим ошибки на этом этапе;
- Обработаем шапку письма;
- Получим и обработаем тела письма;
- Получим и сохраним вложенные файлы;
- Визуализируем проделанную работу;
- Сделаем выводы.
Тема довольно объёмная, но я постараюсь изложить всё максимально компактно и понятно. Пожалуй, приступим.
Создание резервной копии электронной почты
Если вы пользуетесь электронной почтой для работы, вероятнее всего, вы используете учетную запись Exchange илиIMAP. Серверы Exchange и IMAP автоматически архивируют электронную почту, чтобы обеспечить доступ к ней в любое время и отовсюду. Если у вас есть учетная запись Exchange, обратитесь к своему администратору и узнайте, как получить доступ к архивированным сообщениям.
Чтобы сохранить резервные копии папок с сообщениями локально (в дополнение к сохранению их на сервере), вы можете автоматически переместить или удалить старые элементы с помощью автоархивации либо экспортировать эти элементы в PST-файл. Этот файл можно будет восстановить и использовать впоследствии путем импорта.
Щелкните Файл > Открыть и экспортировать > Импорт и экспорт.
Выберите команду Экспорт в файл и нажмите кнопку Далее.
Выберите пункт Файл данных Outlook (.pst) и нажмите кнопку Далее.
Выберите все почтовые папки, резервную копию которых хотите создать, и нажмите кнопку Далее.
Выберите расположение и имя файла резервной копии, а затем нажмите Готово.
Чтобы защитить свои файлы от неавторизованного доступа, введите и подтвердите пароль, а затем нажмите ОК.
Сообщения, которые хранятся в PST-файле, ничем не отличаются от всех остальных сообщений. Вы можете пересылать сохраненные сообщения, отвечать на них, а также выполнять поиск среди них, так же, как вы делаете это с любыми другими сообщениями.
Этап 2. Настройка почтового клиента
При настройке почтового клиента главное – прописать правильные входящие и исходящие серверы. Серверами входящей почты являются IMAP и POP3, сервером исходящей почты ― SMTP.
Для настройки IMAP нужно прописать:
- Личный ― name@yandex.ru, например ivan@yandex.ru
- На домене: name@ваш.домен, например admin@faq-reg.ru
Сервер входящей почты: imap.yandex.ru
Сервер исходящей почты: smtp.yandex.ru
Для настройки POP3 нужно прописать:
- Личный ― name@yandex.ru, например ivan@yandex.ru
- На домене: name@ваш.домен, например admin@faq-reg.ru
Сервер входящей почты: pop.yandex.ru
Сервер исходящей почты: smtp.yandex.ru
Ниже мы покажем пошаговую настройку каждого клиента.
Откройте меню почтового клиента и в правом верхнем углу выберите Создать:
Выберите Настроить мою учётную запись почты…:
Введите ваше имя и фамилию, полный адрес ящика и пароль. Нажмите Продолжить:
Нажмите кнопку Настроить вручную:
Выберите протокол (IMAP или POP3). В зависимости от выбранного протокола, напишите серверы входящей и исходящей почты и их порты:
- сервер входящей почты ― imap.yandex.ru (порт ― 993),
- сервер входящей почты ― pop.yandex.ru (порт ― 995).
Нажмите Готово:
Готово, вы настроили клиента.
Перейдите во вкладку Ящик ― Новый почтовый ящик…:
Введите ваше имя и фамилию, адрес ящика и пароль от него. Нажмите Далее:
Выберите протокол входящей почты POP3 или IMAP. В поле «Адрес сервера» введите imap.yandex.ru или pop.yandex.ru. Нажмите Далее:
- адрес сервера исходящей почты (SMTP) ― smtp.yandex.ru,
- порт ― 465.
Поставьте галочку Мой сервер SMTP требует аутентификации. Нажмите Далее:
Готово, вы настроили клиента.
В клиентах Microsoft Outlook Express и Microsoft Outlook 2013 почта настраивается так же, как и в Microsoft Outlook 2016.
Введите ваш электронный адрес. Нажмите на Дополнительные параметры и поставьте галочку напротив пункта «Настроить учетную запись вручную». Нажмите Подключить:
Выберите протокол POP или IMAP:
Введите пароль. Нажмите Подключить:
- сервер входящей почты ― imap.yandex.ru или pop.yandex.ru,
- сервер исходящей почты ― smtp.yandex.ru.
Порты заполнятся автоматически. Нажмите Далее:
Готово, вы настроили клиента Outlook.
Выберите Другая учетная запись Почты… и нажмите Продолжить:
Введите ваше имя и фамилию, адрес ящика и пароль. Нажмите Войти:
Выберите протокол (IMAP или POP3). В зависимости от выбранного протокола, введите сервер входящей почты (imap.yandex.ru или pop.yandex.ru) и исходящей (smtp.yandex.ru). Нажмите Войти:
Как быстро загрузить данные из Instagram
Если запрос на формирование архива своих данных вы уже сделали, но переживаете что не успеете до блокировки сервиса, можете воспользоваться альтернативными способами загрузки данных.
▷ Загружать любой контент из Instagram возможно через специального бота Telegram. Добавьте данный бот в мессенджере на смартфоне или компьютере и отправляйте ему ссылки на нужные публикации через меню Поделиться.
▷ Можете воспользоваться расширением для браузера Chrome или Safari, которое позволяет загружать любой контент из Instagram, YouTube и других сервисов. Этот способ будет работать на любом компьютере, установите дополнение для браузера и загружайте нужный контент нажатием на кнопку.
▷ Еще можно воспользоваться веб-сервисами для скачивания данных. Вот самые популярные: save-insta.com, instagrabber.ru или igram.io. Просто копируйте ссылку на фото или видео и вставляйте в поле на странице любого сервиса. После обработки получите ссылку на скачивание медиаданных.
В закладки
Архивируем и сохраняем всю почту Gmail
Электронная почта на Gmail в настоящее время стала почти обязательным атрибутом современного человека. Длительное использование электронного ящика с полученными и отправленными многими сотнями или даже тысячами писем, их хранение и защита, обеспечиваются всей мощью корпорации Google. Однако иногда могут возникать ситуации, когда пользователь хочет сменить почтовый ящик, но при этом желает сохранить всю имеющуюся на старом адресе переписку. Для этого следует выполнить несколько простых шагов.
1. Запрос данных Gmail.
Получаем по запросу данные Gmail. Для этого заходим в Google-аккуаунте в Google-архиватор, где можно выгрузить практически все пользовательские данные, в формировании которых использовались сервисы Google.
Для выгрузки конкретно данных с Gmail, следует оставить активной только галочку около раздела «Почта». Для этого нажимаем на кнопку «Отменить выбор» и переходя в раздел Gmail, ставим напротив него галочку.
Пройдя по цепочке «Далее» → «Однократный экспорт» → «Создать экспорт» ожидаем завершения процесса архивации данных. Учитывая, что у некоторых пользователей история работы с Gmail растянулась на годы и десятилетия, объем архива может быть очень большим и его формирование займет продолжительное время. По завершении процесса архивации, на почту придет соответствующее письмо «Данные из аккаунта Google готовы к скачиванию».
2. Переводим файлы MBOX в Thunderbird
Когда формирование архива завершится, его можно скачать, нажав кнопку «Скачать данные». В результате на отдельном носителе информации будет находиться архив Gmail, представленный в формате MBOX.
Для открытия файлов в таком формате следует использовать одну из специальных программ, например, имеющуюся в бесплатном доступе Thunderbird.
После скачивания и установки Thunderbird можно либо получить учетную запись на ресурсе, либо обойтись без нее, так как при работе будет необходимо использовать только локальные папки. Поэтому при первом запуске переходим по цепочке «Отмена» →«Блоги и ленты новостей» → «Продолжить» → «Готово».
В открывшемся окне выбираем надпись «Локальные папки» и нажимаем на «Параметры». Затем копируем появившийся в окне путь в локальный каталог.
На следующем этапе, для запуска системного окна «Выполнить» в операционной системе Windows нажимаем комбинацию Win + R (для macOS это будет Shift + Cmd + G), куда следует перетащить файл MBOX, а затем перезагружаем Thunderbird.
Процесс потребует некоторое время, по завершению которого пользователь сможет просматривать в автономном режиме любые письма, отправленные с использованием почты Gmail.
3. Возвращение архивированных писем в Gmail
В случае, когда потребуется вернуть письма из файлов MBOX в новую учетную запись на почте Gmail, необходимо просто открыть приложение Thunderbird и по цепочке «Меню» → «Создать» → «Настроить мою учётную запись почты» ввести собственные данные.
На следующем этапе просто перетаскиваем нужные письма в папку «Вся почта» Gmail. Позже они появятся в новом Google-аккаунте.
Перемещение в сетевой архив
Сетевой архив – это заранее организованное хранилище в локальной сети или интернете. Обычно туда перемещают ненужные почтовые сообщения. Перемещение в сетевой архив организуется по-разному. Обычно могут устанавливать дополнительный временный интервал для того, чтобы упаковывать документы, но также могу использовать принцип переполнения. То есть по истечении определенного срока документация помещается в хранилище. Либо диск заполняется до установленного объема — и также происходит упаковка и перемещение материалов.
Через веб-интерфейс отправить корреспонденцию в сетевой архив можно следующим образом:
Следует заметить, что большинство интерфейсов веб-доступа организованы таким образом, что напоминают почтовики «больших» компаний, вроде Гугла. А меню перемещения обычно организовано похоже на стандартный Проводник Windows. Поэтому сложностей с осваиванием процедуры обычно не возникает.
На компьютере в Аутлук заархивировать письма можно следующим образом: заходим в любую содержащую письма папку, выбираем искомую корреспонденцию, далее в контекстном меню кликаем Переместить — нужная папка. Клавишами Ctrl и Shift процесс немного автоматизируется: с зажатой кнопкой Shift выделяются все письма (выбираем письмо, зажимаем Shift и нажимаем на последний элемент нужного выделения), с Ctrl — каждое следующее письмо прибавляется к выделению. Впрочем, это стандартные горячие клавиши для многих программ.