Конвертация папок формата The Bat! в формат локальных папок Thunderbird с сохранением внутренней иерархии

Публикация № 722226

Обработки - Универсальные обработки

The bat mbox pop в imap pop to imap иерархия структура папок папки thunderbird tbb2mbx перенос переезд

1
С удивлением обнаружил, что вменяемого способа "слезть" с POP3 + The Bat!, если вы любитель иерархии в своей почте, не существует. Ни перегрузить в другой почтовик ни перегрузить в IMAP, структуру папок с письмами, оказывается нельзя ни с помощью стандартных средств и каких-либо других. Не спешите унывать. Я кажется нашёл способ. Есть вариант перегрузить в формат папок ThunderBird, а оттуда в IMAP и куда хотите, хоть обратно в бат, хоть в какое любое другое место. Программа сделана в виде конфигурашки, которая выполняет всю работу со стороны клиента, благодаря чему базу можно разместить на сервере и пользоваться ей непосредственно на машинах пользователей.

В интернете мне не подвернулась ценная инструкция по переносу структуры писем The Bat. Обычно рекомендуют перегружать ручками, однако в моём случае, среди некоторых пользователей встречаются такие "деревья", которые можно переносить руками до китайской пасхи.


The Bat! меня расстроил до глубины моей глубоко ранимой души, и я уже было потерял надежду. Однако попался один python скрипт, принцип работы которого я так не понял, но наткнулся в нём на утилиту tbb2mbx, которая конвертирует файл папки The Bat tbb в файл папки ThunderBird mbx. А в свою очередь в ThunderBird есть понятие "Локальные папки", которые хранятся в виде файлов mbx (без расширения) и папок в виде названиепапки.sbd, в которых находятся подчиненные элементы. Не долго думая я реализовал алгоритм на 1С, получилось ужасно - но работает. 

Далее из папок Thunderbird мышкой без проблем переносятся в IMAP и вообще куда хотите

Код основной функции прилагаю. Только если будете рисовать сами - поищите версию tbb2mbx 1.3. В конфигурашке за шеккель она запакована в макет.
 

&НаКлиенте
Процедура ТочноКонвертировать(Результат,Дополнительно) Экспорт
	Если Результат<>КодВозвратаДиалога.Да Тогда
		Возврат;
	КонецЕсли;
	Программа = ПолучитьИмяВременногоФайла("exe");
	ПолучитьИзВременногоХранилища(ПолучитьФайлКонвертора(УникальныйИдентификатор)).Записать(Программа);
		
	Разделитель = ПолучитьРазделительПутиКлиента();
	УбратьПоследнийРазделитель(ПапкаИз,Разделитель);//На случай копирования с ним
	
	Разбор = СтрРазделить(ПапкаИз,Разделитель,Ложь);
	НазваниеКорневойПапки = Разбор[Разбор.Количество()-1];
	
	Для каждого Файл ИЗ НайтиФайлы(ПапкаИз,"*.tbb",Истина) Цикл
		ОтносительныйПуть = СтрЗаменить(Файл.Путь,ПапкаИз,"");
		ОтносительныйПуть = НазваниеКорневойПапки+ОтносительныйПуть;
		Разбор = СтрРазделить(ОтносительныйПуть,Разделитель,Ложь);
		
		НовыйПуть = ПапкаВ;
		Край = Разбор.Количество()-1;
		Для Сч = 0 По Край-1 Цикл	
			НовыйПуть = НовыйПуть +Разделитель+Разбор[Сч]+ ".sbd";
		КонецЦикла;
		СоздатьКаталог(НовыйПуть);
		НовыйПуть = НовыйПуть +Разделитель+ Разбор[Край];
		КодВозврата = Неопределено;
		
		ЗапуститьПриложение(
		Программа+" """+Файл.ПолноеИмя+""" """+НовыйПуть+"""",
		"", // текущий каталог для запускаемого приложения
		Истина, // дожидаться завершения работы запущенного приложения
		КодВозврата // сюда попадёт код, возвращаемый программой
		);
		
	КонецЦикла;
	УдалитьФайлы(Программа);
КонецПроцедуры // ТочноКонвертировать()

 

1

Скачать файлы

Наименование Файл Версия Размер
Конвертация папок формата The Bat! в формат локальных папок Thunderbird с сохранением внутренней иерархии:
.cf 18,72Kb
28.12.17
3
.cf 18,72Kb 3 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. CheBurator 3389 29.12.17 20:17 Сейчас в теме
2. Арчибальд 2709 29.12.17 22:35 Сейчас в теме
(1) А я его не имел. И он меня - тоже.
Оставьте свое сообщение