2010-07-20 5 views
5

У меня есть код, который генерирует pdf-файл, и я хочу отправить его как вложение в электронное письмо.Как отправить сгенерированный PDF-файл в виде вложения по электронной почте с C#?

У меня есть этот код:

 FileContentResult fileContentResult = File(fileName, "application/pdf", "file.pdf"); 

и у меня есть этот код по электронной почте вложение

 Attachment a = new Attachment(); 
     sender.SendMail("[email protected]", "[email protected]", "subject", "Body", a); 

как я конвертировать FileContentResult в Attachment объекта?

+0

Вы, вероятно, хотите использовать материал Свойство FileContents вашего экземпляра FileContentResult в MemoryStream и отправить , Бит запоминающего бита показан здесь http://stackoverflow.com/questions/1196059/itextsharp-sending-in-memory-pdf-in-an-email-attachment – Tahbaza

ответ

8

Вы пытались использовать это: Attachment Constructor (Stream, ContentType)?

Что-то вроде

MemoryStream ms = new MemoryStream(fileContentResult.FileContents); 
// Create an in-memory System.IO.Stream 

ContentType ct = new ContentType(fileContentResult.ContentType); 

Attachment a = new Attachment(ms, ct); 
+0

@Moron - этот код не компилируется. Я переименовал эту переменную выше. эта строка не распознается: ContentType ct = stream.ContentType; – leora

+0

@ooo: Вам нужно «использовать System.IO», у вас есть это? Также отредактированный код как stream.ContentType был, по-видимому, строкой. – 2010-07-20 22:10:28

+0

@Moron - эта строка не распознается: ContentType ct = stream.ContentType; – leora

1

Я всего 7 лет поздно, но вот ваш ответ:

Attachment a = new Attachment(fileName, "application/pdf"); 
sender.SendMail("[email protected]", "[email protected]", "subject", "Body", a); 
+0

голосуйте за юмор! – sondlerd

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