Jag har följande metoder kod: Har du kört den från debugger? Hur många gånger anropas sendMail?Skickar för många mail
<code>
public ProfileCommon CustomerProfile;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int orderID = int.Parse(Request.QueryString["orderID"].ToString());
lblThankYou.Visible = false;
if (orderID != 0)
{
try
{
bool result = CartAccess.SetOrderAsPayed(orderID);
if (result)
{
lblThankYou.Visible = true;
sendMail();
}
}
catch (Exception ex)
{
lblThankYou.CssClass = "boldText";
lblThankYou.ForeColor = System.Drawing.Color.Red;
lblThankYou.Visible = true;
lblThankYou.Text = ex.Message;
}
}
}
}
protected void sendMail()
{
int orderID = int.Parse(Request.QueryString["orderID"].ToString());
DataTable dt = new DataTable();
Orders order = new Orders();
try
{ order = OrderAccess.GetOrderDetails(orderID);
CustomerProfile = (HttpContext.Current.Profile as ProfileCommon).GetProfile(order.UserName);
dt = OrderAccess.GetOrderDetailDetails(orderID);
}
catch (Exception ex)
{
lblThankYou.Text = ex.Message;
}
StringBuilder sb = new StringBuilder();
sb.Append("Tack för din order, " + CustomerProfile.fName + "</strong></span></p>");
sb.Append("<p><table><tr><td>" + CustomerProfile.fName + " " + CustomerProfile.lName + "</td></tr>");
sb.Append("<tr><td>" + CustomerProfile.address + "</td></tr>");
sb.Append("<tr><td>" + CustomerProfile.zipCode + " " + CustomerProfile.city + "</td></tr></table>");
foreach(DataRow row in dt.Rows)
{
sb.Append("<tr><td>" + row["quantity"] + "</td><td>" + row["productName"] + "</td><td>" + row["transfer"] + "</td><td>" + row["color"] + "</td><td>" + row["size"] + "</td><td>" + row["price"].ToString() + "</td><td>" + row["discount"] + "</td><td>" + row["subTotal"] + "</td>");
}
sb.Append("</table>");
Utilities.SendMail("info@domän.se", Membership.GetUser(CustomerProfile.UserName).Email, "order@domän.se", "Tack för din order", sb.ToString());
}
// från mailkalssen
public static void SendMail(string from, string to, string cc, string subject, string body)
{
SmtpClient smtp = new SmtpClient(ShopConfig.MailServer);
MailMessage message = new MailMessage(from, to, subject, body);
smtp.Credentials = new NetworkCredential("ANVÄNDARNAMN", "LÖSEN");
message.CC.Add(cc);
message.IsBodyHtml = true;
smtp.Send(message);
}
</code>
Problemet är att det skickas två eller tre mail, det är lite olika. Jag vill att det bara ska skickas ett mail.Nånsom ser vad som är fel?Sv: Skickar för många mail
Mvh,
Tibi