Lotus Notes / Domino хранит почту в базе данных Notes. Доступны API для получения документов (электронные письма), чтения значений полей (От, Тема) и отсоединения файлов.
API включают
-LotusScript (вариант VB, доступен в базе данных Notes)
-Java (изнутри или вне базы данных)
-C API (внешний)
-Той же API доступен через COM-сервер
В базе данных можно создать «запланированного агента» (с использованием LotusScript или Java), который может находить документы, созданные с момента его последнего запуска, находить вложения и извлекать их. Агент должен быть подписан с помощью идентификатора, который имеет соответствующие разрешения на сервере, в том числе те, которые необходимы для записи в файловую систему и запуска любых других процессов.
За пределами базы данных вы можете использовать любой API, кроме LotusScript, для входа в базу данных сервера / почты и выполнять аналогичный процесс, например, извлечение файлов локально на клиенте или отдельном сервере. C API и COM требуют установки клиента Notes, но приложения Java могут быть настроены для запуска через CORBA / DIIOP без полной установки.
Обратитесь к справке Domino Designer (или веб-сайту IBM для C API) для получения дополнительной информации.
Что касается «общего» способа сделать это, если вы обращаетесь к данным в Notes и нуждаетесь в извлечении вложений, я считаю, что эти API - ваш лучший вариант. Если вы планируете портировать приложение на другую почтовую систему, рассмотрите возможность отделения подпрограмм API через «интерфейс», поэтому вам нужно только добавить новую реализацию этого интерфейса для поддержки новой почтовой системы.