Introduction:
In this article today i will explain how we can send email content as
attachment in PDF format in asp.net.
Description:
To generate the PDF file of email content i am using iTextsharp DLL. To download the DLL Click Here.
Add the reference of DLL to your Project/website.
<fieldset style="width:400px">
<legend>Send Email content as PDF attachment</legend>
<table>
<tr><td>Email Sent To :</td><td> <asp:TextBox ID="txtemail" runat="server"></asp:TextBox></td></tr>
<tr><td></td><td></td></tr>
<tr><td><strong>Fill below given information to send</strong></td><td></td></tr>
<tr><td>Name</td><td> <asp:TextBox ID="txtname" runat="server"></asp:TextBox></td></tr>
<tr><td>Subject</td><td> <asp:TextBox ID="txtsubject" runat="server"></asp:TextBox></td></tr>
<tr><td>Email</td><td> <asp:TextBox ID="txtemailid" runat="server"></asp:TextBox></td></tr>
<tr><td>Message:</td><td> <asp:TextBox ID="txtmessage" runat="server"
TextMode="MultiLine"></asp:TextBox></td></tr>
<tr><td></td><td><asp:Button ID="btnsend"
runat="server"
Text="Send
Email" onclick="Button1_Click" /></td></tr>
<tr><td></td><td><label id="lblmessage"
runat="server"></label></td></tr>
</table>
</fieldset>
On button click write the below given code (C#) :
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using System.IO;
using System.Net.Mail;
protected void
Button1_Click(object sender, EventArgs e)
{
try
{
System.Text.StringBuilder mailBody = new System.Text.StringBuilder();
mailBody.Append("<table
width=\"100%\" border=\"0\" align=\"center\"
cellpadding=\"4\" cellspacing=\"2\"
style=\"font-family:Arial,Verdana\"> ");
mailBody.Append("<tr><td><img
src= \"http://1.bp.blogspot.com/-KVkKmUPkM8M/Uv8SYZ9WCKI/AAAAAAAAA9Q/PienHthBOYU/s1600/am3.png\"
/></td></tr>");
mailBody.Append("<tr>");
mailBody.Append("<td>");
mailBody.Append("<table
width=\"100%\" border=\"0\" align=\"center\"
cellpadding=\"4\" cellspacing=\"2\"
style=\"font-family:Arial,Verdana\"> ");
mailBody.Append("<tr
style='background-color: #f4d687'>");
mailBody.Append("<td>");
mailBody.Append("Name");
mailBody.Append("</td>");
mailBody.Append("<td>");
mailBody.Append("" +
txtname.Text + "");
mailBody.Append("</td>");
mailBody.Append("</tr>");
mailBody.Append("<tr
style='background-color: #f4d687'>");
mailBody.Append("<td>");
mailBody.Append("Subject");
mailBody.Append("</td>");
mailBody.Append("<td>");
mailBody.Append("" +
txtsubject.Text + "");
mailBody.Append("</td>");
mailBody.Append("</tr>");
mailBody.Append("<tr
style='background-color: #f4d687'>");
mailBody.Append("<td>");
mailBody.Append("Email");
mailBody.Append("</td>");
mailBody.Append("<td>");
mailBody.Append(""
+ txtemailid.Text + "");
mailBody.Append("</td>");
mailBody.Append("</tr>");
mailBody.Append("<tr
style='background-color: #f4d687'>");
mailBody.Append("<td>");
mailBody.Append("Message ");
mailBody.Append("</td>");
mailBody.Append("<td>");
mailBody.Append("" +
txtmessage.Text + "");
mailBody.Append("</td>");
mailBody.Append("</tr>");
mailBody.AppendLine("</table>");
mailBody.Append("</td>");
mailBody.Append("</tr>");
mailBody.Append("<tr><td>Thanks
for contacting us we will get in touch with you
shortly.</td></tr>");
mailBody.Append("<tr><td><a
href=\"http://articlemirror.blogspot.in\">Click here to go Your
Webiste</a></td></tr>");
mailBody.Append("<tr><td><b>Regards,</b></td></tr>");
mailBody.Append("<tr><td
style='background-color: #0696AF;color:#ffffff'><b>Article Mirror
Team</b></td></tr>");
mailBody.AppendLine("</table>");
StringReader sr = new
StringReader(mailBody.ToString());
Document pdfDoc = new
Document(PageSize.A4,
10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new
HTMLWorker(pdfDoc);
MemoryStream memoryStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
string Email = ConfigurationManager.AppSettings["Email"].ToString();
string Emailto = txtemail.Text;
MailMessage
mail = new MailMessage(Email,
Emailto);
mail.Subject = "Contact us page
Enquiry";
mail.Body = mailBody.ToString();
mail.Attachments.Add(new Attachment(new MemoryStream(bytes), "conatctPDF.pdf"));
mail.IsBodyHtml = true;
SmtpClient
smtp = new SmtpClient();
smtp.Send(mail);
lblmessage.InnerText = "Email send
successfully";
Clear();
}
catch (Exception
ex)
{
}
}
public void Clear()
{
txtemail.Text = "";
txtname.Text = string.Empty;
txtmessage.Text = string.Empty;
txtemailid.Text = string.Empty;
txtsubject.Text = string.Empty;
}
In VB:
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.html.simpleparser
Imports System.IO
Imports System.Net.Mail
Protected Sub
Button1_Click(sender As Object, e As System.EventArgs) Handles btnsend.Click
Try
Dim mailBody As New System.Text.StringBuilder()
mailBody.Append("<table
width=""100%"" border=""0""
align=""center"" cellpadding=""4""
cellspacing=""2""
style=""font-family:Arial,Verdana""> ")
mailBody.Append("<tr><td><img
src= ""http://1.bp.blogspot.com/-KVkKmUPkM8M/Uv8SYZ9WCKI/AAAAAAAAA9Q/PienHthBOYU/s1600/am3.png""
/></td></tr>")
mailBody.Append("<tr>")
mailBody.Append("<td>")
mailBody.Append("<table
width=""100%"" border=""0""
align=""center"" cellpadding=""4""
cellspacing=""2""
style=""font-family:Arial,Verdana""> ")
mailBody.Append("<tr
style='background-color: #f4d687'>")
mailBody.Append("<td>")
mailBody.Append("Name")
mailBody.Append("</td>")
mailBody.Append("<td>")
mailBody.Append("" +
txtname.Text & "")
mailBody.Append("</td>")
mailBody.Append("</tr>")
mailBody.Append("<tr
style='background-color: #f4d687'>")
mailBody.Append("<td>")
mailBody.Append("Subject")
mailBody.Append("</td>")
mailBody.Append("<td>")
mailBody.Append("" +
txtsubject.Text & "")
mailBody.Append("</td>")
mailBody.Append("</tr>")
mailBody.Append("<tr style='background-color: #f4d687'>")
mailBody.Append("<td>")
mailBody.Append("Email")
mailBody.Append("</td>")
mailBody.Append("<td>")
mailBody.Append("" +
txtemailid.Text & "")
mailBody.Append("</td>")
mailBody.Append("</tr>")
mailBody.Append("<tr
style='background-color: #f4d687'>")
mailBody.Append("<td>")
mailBody.Append("Message ")
mailBody.Append("</td>")
mailBody.Append("<td>")
mailBody.Append("" +
txtmessage.Text & "")
mailBody.Append("</td>")
mailBody.Append("</tr>")
mailBody.AppendLine("</table>")
mailBody.Append("</td>")
mailBody.Append("</tr>")
mailBody.Append("<tr><td>Thanks
for contacting us we will get in touch with you shortly.
</td></tr>")
mailBody.Append("<tr><td><a
href=""http://articlemirror.blogspot.in"">Click here to
go Your Webiste</a></td></tr>")
mailBody.Append("<tr><td><b>Regards,</b></td></tr>")
mailBody.Append("<tr><td
style='background-color: #0696AF;color:#ffffff'><b>Article
Mirror</b></td></tr>")
mailBody.AppendLine("</table>")
Dim sr As New StringReader(mailBody.ToString())
Dim pdfDoc As New Document(PageSize.A4, 10.0F, 10.0F, 10.0F, 0.0F)
Dim htmlparser As New HTMLWorker(pdfDoc)
Dim memoryStream As New MemoryStream()
Dim writer As
PdfWriter = PdfWriter.GetInstance(pdfDoc, memoryStream)
pdfDoc.Open()
htmlparser.Parse(sr)
pdfDoc.Close()
Dim bytes As Byte() = memoryStream.ToArray()
memoryStream.Close()
Dim Email As String =
ConfigurationManager.AppSettings("Email").ToString()
Dim Emailto As String = txtemail.Text
Dim mail As New MailMessage(Email, Emailto)
mail.Subject = "Contact us page
Enquiry"
mail.Attachments.Add(New Attachment(New MemoryStream(bytes), "conatctPDF.pdf"))
mail.IsBodyHtml = True
Dim smtp As New SmtpClient()
smtp.Send(mail)
lblmessage.InnerText = "Email send
successfully"
Clear()
Catch ex As Exception
End Try
End Sub
Public Sub Clear()
txtemail.Text = ""
txtname.Text = String.Empty
txtmessage.Text = String.Empty
txtemailid.Text = String.Empty
txtsubject.Text = String.Empty
End Sub
Build the project/website, run and check out the result.
Output :
![]() |
Click here to enlarge |
Is this article helpful for you?
If yes post your comment to appreciate my work and fell free to contact me. You can like me on Facebook, Google+, Linkedin and Twitter via hit on Follow us Button and also can get update follow by Email.
What do you think about this article?
If you found this article useful, please share and follow on Facebook, Twitter, Google Plus and other social media websites. To get free updates subscribe to newsletter. Please put your thoughts and feedback in comments section.
EmoticonEmoticon