Как узнать, является ли вложение подписью в электронном письме Outlook - PullRequest
3 голосов
/ 03 февраля 2012

У меня есть электронная почта Outlook, и мне нужно обработать ее вложения. Но при переборе вложений, если вложение является подписью, я хочу пропустить его.

Чтобы узнать, является ли вложение подписью, которую я использую:

outlookMailItem.Attachments[i].PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E");

Но я получаю предупреждение безопасности Outlook.

Есть ли другой способ использовать более безопасный код? Можно ли это сделать с помощью Redemption?

Спасибо, что уделили время.

Ответы [ 2 ]

8 голосов
/ 03 февраля 2012

Свойство PR_ATTACH_CONTENT_ID является хорошим показателем того, что вложение является встроенным изображением, но есть вложения, у которых установлено свойство PR_ATTACH_CONTENT_ID, но они не являются встроенными изображениями (Lotus Notes любит устанавливать PR_ATTACH_CONTENT_ID для всех вложений).Даже если PR_ATTACH_CONTENT_ID не установлен, Outlook может использовать PR_ATTACH_CONTENT_LOCATION или PR_ATTACH_LONG_FILENAME для загрузки встроенного изображения.Единственный реальный тест - это проанализировать тело HTML и выяснить, какие теги ссылаются на вложения. Redemption позволит вам получить доступ к этому свойству, используя RDOAttachment . Поля, вы также можете использовать свойство RDOAttachment .Hidden, которое просматривает несколько обручей, чтобы выяснить, является ливложение - это встроенное изображение, а не «настоящее» вложение.

0 голосов
/ 10 декабря 2014

RDOAttachment.Hidden свойство работает хорошо, только если формат электронной почты - HTML.Для электронных писем в расширенном текстовом формате изображение подписи будет рассматриваться как любое другое вложение и будет иметь это значение как ложное.Лучше было бы использовать «Attachment.Type», который работает как для HTML, так и для Rich Text.Для подписи это всегда будет olOLE, а для других вложений это будет olByValue.Таким образом, вы можете отфильтровать изображения подписи, используя это свойство.Тем не менее, обратите внимание, что если формат электронной почты - Rich Text, и если у вас есть встроенный в него снимок экрана, он обрабатывается как тип olOLE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...