My below codes work well on localhost but takes unusual time! and on remote server it gives error failure mail sending!.
I feel that while the steps are OK but it needs re-organizing. Looks like it gets timed out on remote server.
Could someone explain me the exact reasons and help me get this resolved.
My codes are as under:
protected void PlaceMO_Click(object sender, EventArgs e)
{
try
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
MailAddress addressTo = new MailAddress(LblMailRS.Text);
MailAddress addressFrom = new MailAddress("mail@abc.online");
MailMessage mm = new MailMessage(addressFrom, addressTo);
mm.Subject = "New Order Alert! / Order No: " + ONum.Text;
mm.Body = "<b>" + "Room No: " + "</b>" + LblRNUser.Text + "<br />" + "<br />"
+ sw.ToString() + "<br />"
+ "<b>" + NetPayable.Text + "</b>" + "<br />"
+ "<b>" + "Comments: " + "</b>" + LblComments.Text;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "abc.online";
smtp.EnableSsl = false;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "mail@abc.online";
NetworkCred.Password = "passcode1";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 25;
smtp.Send(mm);
}
}
DateTime UtcTi = DateTime.UtcNow;
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
DateTime LocalTi = TimeZoneInfo.ConvertTimeFromUtc(UtcTi, tzi);
string strtme = LocalTi.ToString();
using (SqlConnection con2 = new SqlConnection(ConfigurationManager.ConnectionStrings["CS"].ConnectionString))
{
con2.Open();
SqlCommand comd2 = new SqlCommand("Update Orders Set Date = '" + strtme + "', OrderStatus = 'Ordered' Where OrderNo = '" + ONum.Text + "'", con2);
comd2.ExecuteNonQuery();
con2.Close();
}
Tick.Visible = true;
PicPnl.Visible = false;
PicPnl2.Visible = true;
Order.Text = "Order No: " + Session["OrderNo"].ToString();
Order.ForeColor = System.Drawing.Color.Green;
PlaceMO.Visible = false;
ViewMO.Visible = false;
P2.Visible = true;
GridView1.Visible = false;
}
catch (Exception ex)
{
Order.Text = ex.Message;
Order.ForeColor = System.Drawing.Color.Red;
}
}