I have a problem tracking emails.I want to know who read my email.When i send mail to my outlook it works fine but when i want to send it across the network it does not work.ie. When i debug my code and give path of localhost it works but when i give path of my PC on the network it does not work i have hosted the website on IIS locally.Here is my PC name and port where i have configured it PC-50:102
Here is code.
Http Module
And here is code which is creating all the mess
Please help.
Frinny please help.
Here is code.
Http Module
Code:
public class HttpModuleClass : IHttpModule { //public event EventHandler BeginRequest; public void Dispose() { } /// <summary> /// public varibles /// </summary> string footerFile = "~/images/footer.png"; //string footerFile = "~/images/ajax-loader.gif"; Email_Calls bl_email_calls = new Email_Calls(); /// <summary> /// Init methoed /// </summary> /// <param name="context"></param> public void Init(HttpApplication context) { context.BeginRequest += new System.EventHandler(GetImage_BeginRequest); } /// <summary> /// handles requests made to server and call update email read time /// </summary> /// <param name="sender"></param> /// <param name="args"></param> public void GetImage_BeginRequest(object sender, System.EventArgs args) { //cast the sender to a HttpApplication object System.Web.HttpApplication application = (System.Web.HttpApplication)sender; string url = application.Request.Path; //get the url path string pattern = @"/images/(?<key>.*)\.aspx"; //create the regex to match for beacon images Regex r = new Regex(pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase); if (r.IsMatch(url)) { MatchCollection mc = r.Matches(url); if ((mc != null) && (mc.Count > 0)) { string key = (mc[0].Groups["key"].Value); bl_email_calls.UpdateSystemEmailAuditReadDate(key); } //now send the REAL image to the client //application.Response.ContentType = "image/gif"; application.Response.ContentType = "image/png"; application.Response.WriteFile(application.Request.MapPath(footerFile)); //end the response application.Response.End(); } } }
Code:
string emailTemplateBody = TextArea1.Value; //This works //emailTemplateBody += "<br /><img style='opacity:0.0; filter:alpha(opacity=0);' src=http://localhost:50421/HttpModule_using_beacon_images-Copy/images/<keyvalue>.aspx />"; //This does not works emailTemplateBody += "<br /><img src=http://PC-50:102/images/<keyvalue>.aspx style='opacity:0.0; filter:alpha(opacity=0);' />"; string templateName = txtTemplateName.Text; string toEmail=txtTo.Text; //// Get unique Key after registring mail to be sent string key = bl_email_calls.RegisterSystemEmailAudit("1", templateName, DateTime.Now); emailTemplateBody = emailTemplateBody.Replace("<keyvalue>", key); //// sending e-mail bl_email_calls.SendMailMessage(toEmail, templateName, emailTemplateBody, key); using (var cn = new SqlConnection(ConfigurationManager.ConnectionStrings["webConnectionString"].ToString())) { var cmd = new SqlCommand("insert into dr_emailtemplate (Practice_Code ,Template_Name ,TemplateBody ,Created_By ,Created_Date)" + "values('" + 1010 + "', '" + templateName + "', '" + "Test Body" + "', 'Mairaj " + key + "', getdate())", cn); cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); }
Frinny please help.
Comment