send email from asp.net with dynamic contents.
Mailcontant.html page
<table border="1" style="font-family:Arial; border-color:Black; font- size:11px;" cellspacing="0" cellpadding="2">
<tr>
<td width="120">ID :td>
<td width="190">#id#td>
tr>
<tr>
<td>Request Date :td>
<td>#enquirydate#td>
tr>
<tr>
<td>Customer Name :td>
<td>#customername#td>
tr>
<tr>
<td>Customer Address1 :td>
<td>#custaddress1#td>
tr>
<tr>
<td>Customer Address2 :td>
<td>#custaddress2#td>
tr>
<tr>
<td>State :td>
<td>#state#td>
tr>
<tr>
<td>City :td>
<td>#city#td>
tr>
<tr>
<td>Remarks :td>
<td>#remarks#td>
tr>
table>
public static void sendmail(string ID,string mailbody)
{
string mailbodytext = "";
string mailID = string.Empty;
StreamReader sr = newStreamReader(HttpContext.Current.Server.MapPath("Mailcontant.html"));
sr =File.OpenText(HttpContext.Current.Server.MapPath("Mailcontant.html"));
mailbodytext = sr.ReadToEnd();
sr.Close();
string squery = string.Empty;
squery = "select * from Detail where ID='" + ID + "'";
DataTable dr = DataAccess.getDataTable(squery);
if (dr.Rows.Count > 0)
{
mailbodytext = mailbodytext.Replace("#id#", ID);
mailbodytext = mailbodytext.Replace("#enquirydate#",Convert.ToDateTime(dr.Rows[0]["Date"]).ToString("dd/MM/yyyy"));
mailbodytext = mailbodytext.Replace("#customername#", dr.Rows[0]["Cust_Name"].ToString());
mailbodytext = mailbodytext.Replace("#custaddress1#", dr.Rows[0]["Cust_Address1"].ToString());
mailbodytext = mailbodytext.Replace("#custaddress2#", dr.Rows[0]["Cust_Address2"].ToString());
mailbodytext = mailbodytext.Replace("#state#", dr.Rows[0]["State"].ToString());
mailbodytext = mailbodytext.Replace("#city#",
dr.Rows[0]["City"].ToString());
mailbodytext = mailbodytext.Replace("#remarks#", dr.Rows[0]["Remarks"].ToString());
}
SmtpClient smtp = new SmtpClient();
MailMessage msg = new MailMessage();
smtp.EnableSsl = true;
msg.IsBodyHtml = true;
msg.To.Add(newMailAddress(ConfigurationManager.AppSettings["EmailTo"].ToString()));
msg.Subject = "Request - " + FeasibilityID;
msg.Body = mailbody + "
" + mailbodytext;
smtp.EnableSsl = true;
object state = msg;
smtp.SendCompleted += newSendCompletedEventHandler(smtpClient_SendCompleted);
smtp.Send(msg);
}
private static void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
MailMessage mail = e.UserState as MailMessage;
if (!e.Cancelled && e.Error != null)
{
message.Text = "Mail sent successfully";
}
else
{
message.Text = "Error occured";
}
}
Add smtp server setting inwebconfig file
<system.net>
<mailSettings>
<smtp from="work@gmail.com" deliveryMethod="Network">
<network host="smtp.gmail.com" port="587"
userName="work@gmail.com" password="12345"/>
smtp>
mailSettings>
system.net>
" + mailbodytext;
No comments:
Post a Comment