Как я получаю доступ к вложению электронной почты Outlook в C#, не сохраняя его к новому местоположению?

Соглашение именования всех моих столбцов в формате:

{name}_in_{unit}

помог для одного проекта, так как я использовал единицы СИ , он на самом деле закончил тем, что позволил мне быть в состоянии вывести тип данных столбца и обычно упрощать мой стиль записи.

length_in_m
speed_in_ms-1
color_in_nm

было несколько исключений, которые я обработал или с _at_time или с number_of_:

started_at_time updated_at_time number_of_rotations

7
задан SliverNinja - MSFT 15 February 2012 в 18:13
поделиться

2 ответа

Outlook.Attachment.PathName implies a disk location. The attachment is a file; if you want to interact with it, you have to treat it like a file, and that means saving it out to the local disk.

The Outlook.Attachment object does not actually contain the attached file; it contains a link to the attached file, with some associated metadata.

3
ответ дан 7 December 2019 в 10:04
поделиться

Я не знаю, возможно ли это каким-либо образом через объектную модель Outlook, но MAPI определенно позволяет вам это.

Вам необходимо открыть сообщения MAPIObject , IMessage . Оттуда используйте IMessage :: OpenAttach () , который возвращает IAttach .
Размер вложения хранится в PR_ATTACH_SIZE , фактические данные - в PR_ATTACH_DATA_BIN .

Как всегда, Redemption , вероятно, имеет более простой способ сделать это.

] редактировать:
Доступ через MAPI - это то, что Outlook делает внутренне в любом случае - должен быть достаточно быстрым, по крайней мере, при использовании режима кэширования Exchange.

3
ответ дан 7 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: