2008-09-29 4 views
3

Я создаю новый почтовый элемент в C# VS-2008 outlook 2007 и прикрепляю файл. Первая проблема заключается в том, что я не вижу области прикрепления в строке темы, показывающей вложение. Если я отправлю электронное письмо, его свойства показывают, что есть вложение, а размер электронной почты вырос на сумму вложения. Я просто не вижу его или не извлекаю приложение.Outlook attachments.Add() не отображается в теле письма

Вот код, я использую:

Outlook.MailItem mailItem = (Outlook.MailItem)this.Application.CreateItem(Outlook.OlItemType.olMailItem); 
attachments.Add(ReleaseForm.ZipFile, Outlook.OlAttachmentType.olByValue, 0, "DisplayName"); 

Я ожидал часть «DisplayName» покажет, как имя вложения, и я должен использовать имя файла.

Я не вызываю .Send() на e-mail программно, я вызываю mailItem.Display (true), чтобы показать электронное письмо пользователю для любых окончательных изменений. На этом этапе я могу посмотреть на свойства и увидеть, что там есть приложение.

Если я нажимаю send (отправка себе), я вижу то же самое, приложение, похоже, там, но недоступно.

ответ

4

Я нашел проблему. Изменить код, чтобы использовать следующее:

attachments.Add(ReleaseForm.ZipFile, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing); 

Представляется, что положение и параметры DISPLAYNAME контролировать то, что происходит с olByValue. Используя Type.Missing, и теперь я вижу вложения правильно в сообщении электронной почты.

0

У меня есть excactly проблемы, как у вас, но даже изменить код, как у вас, но это, кажется, не работайте еще. снова, кажется, уже в mailitems, но не отображается на дисплее сообщений. ОК, вы должны убедиться, что тело MailItem не равно нулю, чтобы Diplay attechament

0

бит старого поста, но, как некоторые другие упомянутые, используя

attachments.Add(path, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing); 

не помогло мне тоже, так что я подумал, что я поделюсь альтернативным подходом. Решение этой проблемы состоялось в том, чтобы позвонить по телефону mailItem.Save(); прямо перед тем, как позвонить по телефону mailItem.Display(true);. Что это будет делать, это обновить форму просмотра, чтобы показать свои вложения. Также стоит отметить, что он сохранит сообщение в черновиках. Не проблема, если вы ожидаете, что пользователь отправит электронное письмо, но если они отменяются, он будет оставлен в папке «Черновики».

Смежные вопросы