In some cases we need to send the all data rendered on aspx page in mail body, so i have implemented this functionality in my code.
I have one user registration form for some event registration. This form is displayed on website for taking registration from users for the event. So here I am taking registration of a user, details of user are stored in my database as well as i want to send the registration confirmation to the user or as it is registration form after successful submission. So to perform this i need to write code as follows:
Add this line of code on aspx page directive .
EnableEventValidation="false"
here is code behind of aspx on submit button
private void SendFormInMail()
{
try
{
string host = "smtp.gmail.com";
string mailFrom = "MymailId@gmail.com";
string password = "myPassword";
int port = 587;
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Credentials = new System.Net.NetworkCredential(mailFrom, password);
client.Port = port;
client.Host = host;
client.EnableSsl = true;
System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
email.To.Add(txtEmail.Text.Trim());
email.CC.Add("anothermail Id@domain");
email.From = new System.Net.Mail.MailAddress(mailFrom);
email.Body += "Dear " + txtFirstName.Text.Trim() + ",<br/><br/>";
email.Body += GetPageData();
email.Body += "<img id='img1' runat='server' src='http://signatureImage.png'/>";
email.Body += "<br/> Regards,<br/> Gajanan.";
email.Subject = "abcd event Registration";
email.IsBodyHtml = true;
client.Send(email);
Response.Redirect("~/RegistrationConfirmation.aspx");
}
catch (Exception ex)
{
ex.Message;
}
}
public string GetPageData()
{
StringBuilder strBuilder = new StringBuilder();
StringWriter strWriter = new StringWriter(strBuilder);
HtmlTextWriter htw = new HtmlTextWriter(strWriter);
this.form1.RenderControl(htw);
return strBuilder.ToString();
}
By using above code, you can achieve this.
I hope this post will help you.
Thanks,
Gajanan
I have one user registration form for some event registration. This form is displayed on website for taking registration from users for the event. So here I am taking registration of a user, details of user are stored in my database as well as i want to send the registration confirmation to the user or as it is registration form after successful submission. So to perform this i need to write code as follows:
Add this line of code on aspx page directive .
EnableEventValidation="false"
here is code behind of aspx on submit button
private void SendFormInMail()
{
try
{
string host = "smtp.gmail.com";
string mailFrom = "MymailId@gmail.com";
string password = "myPassword";
int port = 587;
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Credentials = new System.Net.NetworkCredential(mailFrom, password);
client.Port = port;
client.Host = host;
client.EnableSsl = true;
System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
email.To.Add(txtEmail.Text.Trim());
email.CC.Add("anothermail Id@domain");
email.From = new System.Net.Mail.MailAddress(mailFrom);
email.Body += "Dear " + txtFirstName.Text.Trim() + ",<br/><br/>";
email.Body += GetPageData();
email.Body += "<img id='img1' runat='server' src='http://signatureImage.png'/>";
email.Body += "<br/> Regards,<br/> Gajanan.";
email.Subject = "abcd event Registration";
email.IsBodyHtml = true;
client.Send(email);
Response.Redirect("~/RegistrationConfirmation.aspx");
}
catch (Exception ex)
{
ex.Message;
}
}
public string GetPageData()
{
StringBuilder strBuilder = new StringBuilder();
StringWriter strWriter = new StringWriter(strBuilder);
HtmlTextWriter htw = new HtmlTextWriter(strWriter);
this.form1.RenderControl(htw);
return strBuilder.ToString();
}
By using above code, you can achieve this.
I hope this post will help you.
Thanks,
Gajanan