Hallo Leute,
im untenstehenden Code erzeuge ich einen ReportPDFStream, der ein PDF-File enthält.
Im Teil 1 schreibe ich testweise den PDF-Stream auf eine Festplatte. Dieses erzeugte "test.pdf" wird auch einwandfrei vom Acrobat-Reader angezeigt.
Im Teil 2 wird der gleiche ReportPDFStream als Attachment als Email versandt. Wenn ich diesen Mailanhang mit dem Acrobat-Reader öffne, bekomme ich die Fehlermeldung: "Adobe Acrobat Reader konnte test.pdf nicht öffnen, da der Dateityp nicht unterstützt
wird oder die Datei beschädigt ist..."
Dim buffer(1024) As Byte
Dim ReportPDFStream = Report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
'Teil 1 eine pdf-File auf der Festplatte erzeugen (funktioniert)
Using output = New System.IO.FileStream(My.Application.Info.DirectoryPath & "\test.pdf", IO.FileMode.Create)
Dim readbytes As Integer
While True
readbytes = ReportPDFStream.Read(buffer, 0, buffer.Length)
If readbytes = 0 Then Exit While
output.Write(buffer, 0, readbytes)
End While
End Using
'Teil 2: ein pdf-File als Dateianhang versenden (pdf kann nicht geöffnet werden)
Dim Attachment = New System.Net.Mail.Attachment(ReportPDFStream, "test.pdf", System.Net.Mime.MediaTypeNames.Application.Octet)
Dim Mail As New System.Net.Mail.MailMessage
With Mail
.To.Add(email)
.From = New System.Net.Mail.MailAddress("office@irgendwas.at")
.Subject = "Anhang senden"
.Body = "Sehr geehrte..."
.Attachments.Add(Attachment)
End With
Dim smtp As New System.Net.Mail.SmtpClient
With smtp
.Host = "10.0.0.62"
.Send(Mail)
End With
Wo liegt hier der Fehler?
Vielen Dank im Voraus
Christian Tauschek