Ни о чём →
Как сохранить все отправленные письма с сервера MAIL.RU на локальный диск
Доброе время суток друзья. Вчера столкнулся не со всем с обычной задачкой, которая подтолкнула меня к созданию очередной утилиты упрощающую жизнь. Так получилось, что было дано задание сохранить все письма с почтового сервера mail.ru из папки – Отправленные, у нескольких десятков пользователей, на локальный диск с дальнейшим импортом в почтовик. Ничего сложного в принципе в этом не было, но увы почтовый сервер mail.ru обделил нас замечательным imap’ом. А это значило, что придется как-то выкручиваться.
Идея сохранять каждое письмо вручную, сразу отпало, в папке около 2000 исходящих писем и при чем это только у одного пользователя. Пробежался по другим ящикам, картина вырисовывалась грандиозная. Начал поиск в интернете на наличие программы, которая может совладать с данной задачей, но кроме как парсеров, граберов и т.п. андеграунд софта, видимо ничего не было изобретено.
Помощи было ждать не от куда, да и я привык решать подобные проблемы сам, сел за написание утилиты, которая спасет нас всех. Решил писать на Autoit. Нарисовал краткий план:
1. Авторизация на почтовом сервере mail.ru
2. Использовать мобильную веб-версию, чтобы не так сильно все было перегружено
3. Получения количества страниц в папке Исходящие
4. Разбор каждой страницы с генерацией прямых ссылок на скачивание
5. Сохранение на жесткий диск в папку с названием вида export-outbox в формате eml
По мере написания утилиты, была добавлена возможность сохранить все остальные папки, Входящие, Черновики, Спам, Удаленные. Вот что получилось:
Сперва отредактируем скрипт по себя, вводим логин, пароль, домен ($login, $paswd, $domain). В переменную $target вписываем код папки, которую мы бы хотели сохранить на локальный диск, в нашем случае вышла такая таблица:
0 = Входящие
500000 = Отправленные
500001 = Черновики
500002 = Удаленные
950 = Спам
Мне пригодился второй вариант со значением 500000, соответствующий папки – Отправленные.
Наглядный код скрипта, вставить к сожалению не получается, хабрапарсер съедает регулярные выражения и топик ужасно перекашивает, посмотреть и скачать скрипт можно здесь: Смотреть код
После отработки скрипта, все наши письма успешно сохранились в папке в формате eml, которые в дальнейшем были импортированы в почтовую программу. Возможно изобрел велосипед, но честно и долго гуглил подобный софт, но безрезультатно.
Спасибо за внимание. С Уважением, Алексей
Идея сохранять каждое письмо вручную, сразу отпало, в папке около 2000 исходящих писем и при чем это только у одного пользователя. Пробежался по другим ящикам, картина вырисовывалась грандиозная. Начал поиск в интернете на наличие программы, которая может совладать с данной задачей, но кроме как парсеров, граберов и т.п. андеграунд софта, видимо ничего не было изобретено.
Помощи было ждать не от куда, да и я привык решать подобные проблемы сам, сел за написание утилиты, которая спасет нас всех. Решил писать на Autoit. Нарисовал краткий план:
1. Авторизация на почтовом сервере mail.ru
2. Использовать мобильную веб-версию, чтобы не так сильно все было перегружено
3. Получения количества страниц в папке Исходящие
4. Разбор каждой страницы с генерацией прямых ссылок на скачивание
5. Сохранение на жесткий диск в папку с названием вида export-outbox в формате eml
По мере написания утилиты, была добавлена возможность сохранить все остальные папки, Входящие, Черновики, Спам, Удаленные. Вот что получилось:
Сперва отредактируем скрипт по себя, вводим логин, пароль, домен ($login, $paswd, $domain). В переменную $target вписываем код папки, которую мы бы хотели сохранить на локальный диск, в нашем случае вышла такая таблица:
0 = Входящие
500000 = Отправленные
500001 = Черновики
500002 = Удаленные
950 = Спам
Мне пригодился второй вариант со значением 500000, соответствующий папки – Отправленные.
Наглядный код скрипта, вставить к сожалению не получается, хабрапарсер съедает регулярные выражения и топик ужасно перекашивает, посмотреть и скачать скрипт можно здесь: Смотреть код
После отработки скрипта, все наши письма успешно сохранились в папке в формате eml, которые в дальнейшем были импортированы в почтовую программу. Возможно изобрел велосипед, но честно и долго гуглил подобный софт, но безрезультатно.
Спасибо за внимание. С Уважением, Алексей
17.01.2012 09:32+0400