发送包含生成的PDF作为附件的电子邮

时间:2013-07-19 18:48:40

标签: asp.net vb.net itextsharp html-email email-attachments

我使用下面的代码生成PDF并将其保存到某个位置。是否可以将此信息作为电子邮件发送,并附带生成的PDF?我假设电子邮件编码需要用HTML完成?因为它将在网络服务器上。这可能吗?

    Dim Doc1 As New Document
    Dim path As String = "\\Server\Folder" + Session("Username") + "\"
    If (Not System.IO.Directory.Exists(path)) Then

        System.IO.Directory.CreateDirectory(path)
    End If
    Dim myUniqueFileName = String.Format("{0}.pdf", random)
    Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(Doc1, New FileStream(path & myUniqueFileName, FileMode.Create))
    ' Dim ev As New itsEvents
    ' pdfWrite.PageEvent = ev

    Doc1.Open()
    Dim test As String
    test = Session("PDF")
    Dim imagepath As String = Server.MapPath(".") & "/images/Header.png"
    Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(imagepath)
    image.ScalePercent(70.0F)
    ' image.SetAbsolutePosition(36.0F, 36.0F)
    Doc1.Add(image)
    Doc1.Add(New Paragraph(test))

    Doc1.Close()

1 个答案:

答案 0 :(得分:0)

试试这个:

' Create the mail message
Dim mail As New MailMessage()

' Set the addresses
mail.From = New MailAddress("me@mycompany.com")
mail.To.Add("you@yourcompany.com")

' Set the content
mail.Subject = "This is an email"
mail.Body = "this content is in the body"

' Get some binary data
Dim data As Byte() = GetData()

' Save the data to a memory stream
Dim ms As New MemoryStream(data)

' Create the attachment from a stream. Be sure to name the data with a file and 
' media type that is respective of the data
mail.Attachments.Add(New Attachment(ms, "example.txt", "text/plain"))

' Send the message
Dim smtp As New SmtpClient("127.0.0.1")
smtp.Send(mail)

Function GetData() As Byte()
    ' This is where you will load your data from disk or database, etc.
    Dim s As String = "this is some text"
    Dim data As Byte() = Encoding.ASCII.GetBytes(s)
    Return data
End Function 'GetData