Я добавлю последнее предложение для более обобщенного решения «скачать сообщения POP3 и извлечь вложения» с использованием существующего программного обеспечения и минимального программирования. Мне нужно было сделать это для клиента, который переключился на получение факсов по электронной почте и не был доволен сохранением вложений вручную в место, где они могли быть импортированы в приложение.
Для загрузки сообщений в * nix системах fetchmail кажется стандартным и очень функциональным, но я выбрал mpop для простоты и совместимости с Windows ( но это кроссплатформенный). Если бы mpop не справился со мной, я, вероятно, закончил бы тем, что сделал что-то с getmail на основе Python, который был создан, когда разработка fetchmail на некоторое время остановилась (с тех пор возобновилась).
Mpop управляется либо через командную строку, либо через файл конфигурации, поэтому я просто создал несколько файлов конфигурации и в командной строке определяю, какой файл загрузить. Я использую его в режиме «Exchange pickup directory», что означает, что он просто загружает сообщения и удаляет их как текстовые (.eml) файлы в указанном каталоге.
Для извлечения вложенных сообщений UUDeview представляется стандартом (я использую порт Windows UUDeview ) практически для любой системы, которую вы можете захотеть, используя примерно любые функции, которые вы могли бы хотеть. Моей основной альтернативой этому был сценарий Python с гораздо меньшими возможностями, который я разработал для другого клиента в 2007 году, но я рад пойти с предварительно скомпилированным исполняемым файлом поверх установки Python или упаковки с любым из Python- Опции to-exe.
Наконец, есть конфигурация - наряду с двумя вышеупомянутыми конфигурационными файлами mpop (с которыми я мог бы покончить, используя параметры командной строки), у меня также есть два двухстрочных файла .cmd, запускаемых каждые 10 минут по расписанию - первая строка для запуска mpop для загрузки в рабочий каталог, а вторая строка для запуска UUDeview и извлечения вложений указанных типов (.pdf или .tif), затем удаляются все файлы, из которых извлечены вложения. Вывод отправляется в другой каталог, из которого сотрудники могут напрямую прикреплять файлы по мере необходимости.
В целом это не самый элегантный способ достижения этих целей, но он был быстрым, простым, функциональным и достаточно надежным - на каждом этапе, если что-то идет не так, он терпит неудачу, так что никакие данные не теряются. Единственными местами, где могут быть потеряны данные, являются любые сообщения без вложений, отправляемые на выделенные адреса электронной почты факса, и даже те, которые находятся в каталоге обработки и в конечном итоге будут перехвачены.