2012-05-24 58 views
1

我想发送PDF文件使用itextsharp,电子邮件发送罚款,但没有PDF附件 有人可以告诉我什么是我的代码错?
这里是我的代码:VB.net itextsharp附件

Dim pdfFile As MemoryStream = New MemoryStream() 
      Dim d As Document = New Document(PageSize.A4, 60, 60, 40, 40) 
      Dim w As PdfWriter = PdfWriter.GetInstance(d, pdfFile) 
      w.Open() 
      w.Add(New Paragraph("do foo something ")) 

      Dim message As New MailMessage() 
      message.From = New MailAddress("******") 
      message.To.Add(New MailAddress("***************")) 
      message.Subject = "new image " 
      message.Body = "this is the apak chart img" 
      Dim data As New Attachment(pdfFile, New System.Net.Mime.ContentType("application/pdf")) 
      message.Attachments.Add(data) 
      Dim client As New SmtpClient() 
      client.Host = "smtp.gmail.com" 
      client.Credentials = New NetworkCredential("*****", "*******") 
      client.EnableSsl = True 
      client.Port = 587 
      client.Send(message) 
+0

也许冲洗和倒带流? – Douglas

+0

你试过其他文件吗?我的意思是来自磁盘或文本流的真实文件。 – IvanH

+0

同意@Douglas。 –

回答

2

尝试冲洗作家和倒带流:

Dim pdfFile As MemoryStream = New MemoryStream() 
Dim d As Document = New Document(PageSize.A4, 60, 60, 40, 40) 
Dim w As PdfWriter = PdfWriter.GetInstance(d, pdfFile) 
w.Open() 
w.Add(New Paragraph("do foo something ")) 

w.CloseStream = false; 
d.Close(); 
pdfFile.Position = 0; 

摘自:iTextSharp - Sending in-memory pdf in an email attachment