Сетевые технологии / Восстанавливаем удаленную почту на mail.ru (и других)

в 9:53, , рубрики: mail, mail.ru, pop3, smtp, почта, метки: , , , ,

Всем привет!
Случалось ли вам наблюдать пустой почтовый ящик после того, как вы настроили почтовый клиент через pop3, и забыли поставить галочку «хранить почту на сервере»? Случилось это и со мной.
Итак, у вас есть почта в почтовом клиенте, нет почты на сервере. Все бы ничего, сами письма же сохранились, но почта на сервере была очень нужна, и я стал думать.
Вариант 1: Проверить корзину на mail.ru

Естественно, никаких писем в корзине не оказалось. Нашел запись в FAQ, в которой говорилось, что восстановить письма, удаленные таким образом, невозможно.
Вариант 2: отправить почту самому себе через smtp с подделкой заголовков

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

У mail.ru, да и других почтовых сервисов, есть функция забора почты с других ваших почтовых ящиков. Так как у нас есть почта в почтовом клиенте, нашел папку, где хранятся письма (в формате eml), поднял pop3 сервер (использовался Small HTTP Server, настраивается за минуту), указал серверу папку с письмами, попробовал забрать ее же почтовым клиентом. К сожалению, ни одного письма не получил. Поднял smtp сервер, отправил письмо. Чтобы мой pop3 сервер отдал письмо, требовалось убрать ведущий ноль из имени файла и убрать расширение. Сделал это со всеми файлами и сказал mail.ru забрать все письма с моего сервера.
Через час все письма были на сервере такими, какими они были до удаления (только все были «непрочитанными»).
Надеюсь, это кому-то это пригодится.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js