Потенциальный клиент хочет, чтобы я оценил создание автоматизированного решения, которое будет извлекать данные из их почтовой системы, включая вложения электронной почты, и перемещать эти данные в наше приложение базы данных.
Исторически они использовали электронную почту (Outlook / Exchange) для отслеживания и систематизации важных документов, фотографий и переписки. У них есть файлы в общих папках для совместной работы. Им надоело использовать электронную почту для управления своей работой, и они решили приобрести наше приложение, но хотели бы перенести все эти данные в наше приложение в виде вложений.
Теперь, если бы это были физические файлы, а не электронные письма, это не было бы проблемой, однако я никогда раньше не работал, чтобы извлечь электронные письма из обмена.
Какие вопросы я должен задать клиенту, чтобы с уверенностью сказать ему цену этой работы?
Помимо обычных вопросов, связанных с окружающей средой (сколько серверов Exchange, какая версия OS / Exchange и т. Д.), Я хотел бы знать приблизительно, сколько существует сообщений, количество почтовых ящиков, содержащих сообщения, которые нужно импортировать, и размер каждый почтовый ящик. Это должно быть легко доступно через System Manager (если 2003) или Exchange Console (если 2007+).
Что касается техники, то это действительно зависит от количества почтовых ящиков и бюджета:
Если имеется <10 пользователей и у вас не так много средств для этого, вы можете настроить сервер DoveCot IMAP с открытым исходным кодом на их территории (или удаленно) и пройти их через добавление учетной записи IMAP в каждый из их профилей Outlook и просто перетащить и сбросить сообщения в учетную запись IMAP; IMAP хранит свои сообщения в файловой системе несколькими дополнительными способами. хорошо задокументированы, и (как вы говорите) «не будет проблемой» импортировать файлы в ваше приложение.
Если почтовых ящиков много (и, вероятно, больший бюджет), я бы использовал EXMERGE для массового экспорта файлов .PST для каждого почтового ящика, а вы могли бы использовать мастер импорта PST-файлов Zimbra для импорта всей своей почты на сервер Zimbra, на котором, как я полагаю, хранится почта. файловая система или MySQL (нужно еще раз проверить это, но, вероятно, что-то выполнимое).
есть также довольно много вариантов в Сторонние коммерческие или открытые инструменты PST-to- $ someFormatorMediaryFormat, для написания некоторых требуется много или немного кода.
Хорошая новость в том, что это не такая экзотическая просьба, как вы думаете сейчас; существует множество альтернатив Exchange, которым нужен надежный метод импорта данных из Exchange, иначе никто не будет их конвертировать.
Я бы предпочел использовать хорошо документированный путь, такой как формат IMAP / Maildir / MIME: как только вы надежно переведете его в этот формат, скорее всего, появится множество инструментов синтаксического анализа с открытым исходным кодом на выбранном вами языке, которые помогут вам импортировать его в свое приложение.
Независимо от того, что вы выберете, я бы сначала сделал «срез»: решил, что можно сделать, взять образец данных от клиента, чтобы выполнить тестовый прогон (или, если это не сработает, получите хорошее представление о том, что за документы, которые они хранят, независимо от того, находятся ли они в подпапках или нет, какие «метаданные» они используют для организации сообщений и создания собственного набора образцов), а затем экстраполируют время, которое вам потребуется, чтобы сделать все это, обивка соответственно в зависимости от вашего уровня комфорта.