2015-08-18 2 views
0

Я пытаюсь прикрепить iTextSharp pdf к Outlook MailItem, но на самом деле добавление Attachment всегда приводит к исключению ArgumentException, а дополнительная информация просто говорит: «Извините что-то пошло не так. Возможно, вы захотите попробовать еще раз ».C#: Прикрепить iTextSharp в памяти в виде вложения Outlook

Вот соответствующий код:

public void SendPDF(string subject, string body, string To) 
{ 
    var pdf = GeneratePDF(); 

    Outlook.Application mailApp = new Outlook.Application(); 
    Outlook.MailItem mail = mailApp.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem; 
    mail.Subject = subject;    
    mail.Body = body;    

    var addresses = To.Split(',');    

    foreach (var address in addresses) 
    { 
     mail.Recipients.Add(address); 
    } 

    //error happens here: 
    mail.Attachments.Add(pdf, Type.Missing, Type.Missing, EquipmentName + ".pdf"); 
    mail.Recipients.ResolveAll(); 

    mail.Send(); 
} 

Не прикрепление результаты в формате PDF в успешной электронной почте отправляется, но, очевидно, это побеждает точку. Создание PDF и его хранение где-то не является вариантом. Любая помощь будет принята с благодарностью!

+0

Первый аргумент Attachments.Add - это * имя_файла * (полный путь), передавая его содержимое сгенерированного pdf, безусловно, приведет к ошибке. –

+0

@ Пол-Ян Действительно? Текст наведения показывает, что первым аргументом является «object Source». Это просто вводит в заблуждение? В любом случае, спасибо за ваш ответ! Вы знаете, как это сделать? – deckeresq

+1

Это либо имя файла, либо другой файл MailItem, который вы хотите подключить (см. Https://msdn.microsoft.com/EN-US/library/office/ff869553.aspx). Невозможно сделать это с помощью объектной модели .NET Outlook ... Или используйте Redemption (коммерческий продукт), воспроизведите то, что делает Redemption (много работы), или полностью удалите Outlook и используйте MailMessage для отправки электронной почты. –

ответ

1

Как писал Пол-Ян в комментариях, в Outlook нет встроенного PDF-документа. Я переключился на MailMessage.

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