using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Net.Mail; using System.Net; //using System.Web.Mail; using System.IO; public partial class Bulkmail_SendMail : System.Web.UI.Page { static DataTable dt=new DataTable(); static int NoOfMail; protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack == false) { if (Session["Bulkmail"] == null) { Response.Redirect("BulkmailLogin.aspx"); } try { ModCommon.Fill_Combo("Select Category_KId, Category_Name from BEM_Category",ddlCategory); ModCommon.Fill_Combo("Select Template_KId, Template_Name from BEM_Template", ddlTemplate); ModCommon.Fill_Combo("Select Server_Kid,Server_ServerName from BEM_Server", ddlServer); //NoOfMail = count(); lblCount.Text = ""; btnStop.Visible = false; lblTotal.Text = ""; dt = null; Timer1.Enabled = false; Image1.Visible = false; NoOfMail = 0; } catch { } } //if (lblCount.Text != "") //{ // if (int.Parse(lblCount.Text) == count()) // { // Timer1.Enabled = false; // } //} } public int count() { try { SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Select Count(Email) from BEM_Prospect_Detail where Categoryid ='" + ddlCategory.SelectedItem.Value +"'"; cmd.CommandType = CommandType.Text; cmd.Connection = con; if (con.State == ConnectionState.Open) { con.Close(); } else { con.Open(); } return (int)cmd.ExecuteScalar(); } catch { return 0; } } protected void btnStart_Click(object sender, EventArgs e) { try { dt = null; lblCount.Text = ""; lblTotal.Text = ""; btnStop.Visible = true; Timer1.Enabled = true; btnStart.Visible = false; Image1.Visible = true; btnReset.Visible = false; } catch { } } protected void btnStop_Click(object sender, EventArgs e) { try { Timer1.Enabled = false; btnStart.Visible = true; btnStop.Visible = false; Image1.Visible = false; btnReset.Visible = true; dt = null; } catch { } } protected void Timer1_Tick(object sender, EventArgs e) { try { if (lblCount.Text == "") { SendMail(0); } else { SendMail(int.Parse(lblCount.Text)); } } catch { } } public void SendMail(int index) { try { if(dt==null) { dt = ModCommon.ReturnDataTable("Select Email From BEM_Prospect_Detail where Categoryid ='"+ ddlCategory.SelectedItem.Value + "' order by Email "); } string strmail; strmail="Test "; //MailMessage mail = new MailMessage(); //mail.To = "me@mycompany.com"; //mail.From = "you@yourcompany.com"; //mail.Subject = "this is a test email."; //string url = "http://www.microsoft.com"; //mail.Body = HttpContent(url); //mail.BodyFormat = MailFormat.Html; //mail.UrlContentBase = url; //SmtpMail.SmtpServer = "localhost"; //your real server goes here //SmtpMail.Send(mail); string str; str = Server.MapPath("Upload"); // HttpContent(str + "\\test.htm",index); System.Net.WebRequest objRequest = System.Net.HttpWebRequest.Create(str + "\\" + ddlTemplate.SelectedItem.Text); StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream()); string result = sr.ReadToEnd(); string testresult = result; sr.Close(); AlternateView view; LinkedResource resource; string MediaType = "text/html"; AlternateView hc = AlternateView.CreateAlternateViewFromString(result, null, MediaType); string[] imgtag = new string[10]; int i = 0; while (testresult.Contains("")); } view = AlternateView.CreateAlternateViewFromString(result, null, MediaType); // string sub = result.Substring(result.IndexOf("src=")+5); //// char c = '"'; // string url1 = sub.Substring(0, sub.IndexOf('"')); // result=result.Replace("\"" + url1 + "\"", "cid:image1"); // LinkedResource lnk = new LinkedResource(url1); // lnk.ContentId = "image1"; // string MediaType = "text/html"; // AlternateView hc = AlternateView.CreateAlternateViewFromString(result, null, MediaType); // //AlternateView hc = new AlternateView .(result,MediaType); // hc.LinkedResources.Add(lnk); // //int startindex = result.IndexOf("src="); // //int lastindex = result.IndexOf(".") // //MyMailMessage.From=new MailAddress("contact@atcomaart.com", "Atcomaart Ltd."); // //MyMailMessage.To=new MailAddress(dt.Rows[index]["Email"].ToString(),dt.Rows[index]["ContactPerson"].ToString()); // //MyMailMessage.Bcc=new MailAddress("pankaj.mishra@edeskservices.com", "eDesk Services Ltd."); for (int count = 0; count < i; count++) { string name; name = imgtag[count].Substring(imgtag[count].LastIndexOf("\\") + 1); //result = result.Replace("Upload" + "\\" + name, "cid:image" + Convert.ToString(count)); LinkedResource lnk = new LinkedResource(Server.MapPath("Upload")+"\\"+name); lnk.ContentId = "image" + Convert.ToString(count); view.LinkedResources.Insert(count, lnk); } System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage(ModCommon.ReturnValue("Select Server_UserName from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value.ToString() + "'"), dt.Rows[index]["Email"].ToString()); MyMailMessage.Subject = txtSubject.Text; MyMailMessage.IsBodyHtml = true; MyMailMessage.Body = result; MyMailMessage.AlternateViews.Add(view); SmtpClient sc = new SmtpClient(); sc.Host = ModCommon.ReturnValue("Select Server_Name from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value.ToString() + "'"); sc.UseDefaultCredentials = false; sc.EnableSsl = Convert.ToBoolean(ModCommon.ReturnValue("Select Server_SSL from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value.ToString() + "'")); sc.Credentials = new System.Net.NetworkCredential(ModCommon.ReturnValue("Select Server_UserName from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value.ToString() + "'"), ModCommon.ReturnValue("Select Server_Password from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value.ToString() + "'")); // sc.Port = 465; // sc.Host = "smtp.gmail.com"; //sc.Timeout = 20000; sc.Send(MyMailMessage); //SmtpClient sc = new SmtpClient(); //sc.Host = ModCommon.ReturnValue("Select Server_Name from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value.ToString() + "'"); //sc.Credentials = new System.Net.NetworkCredential("smt.pillai@gmail.com", "smita123"); //sc.EnableSsl=true; //sc.Port = 465; //sc.Timeout = 5000; //sc.Send(MyMailMessage); int j; if (lblCount.Text == "") { lblCount.Text = "1"; if (count() == 1) { Timer1.Enabled = false; btnReset.Visible = true; btnStart.Visible = true; btnStop.Visible = false; Image1.Visible = false; } } else { j = int.Parse(lblCount.Text); //while (i < count()) //{ //} if (j < count() - 1) { j = j + 1; lblCount.Text = j.ToString(); } else { j = j + 1; lblCount.Text = j.ToString(); Timer1.Enabled = false; btnReset.Visible = true; btnStart.Visible = true; btnStop.Visible = false; Image1.Visible = false; } } lblTotal.Text = "Out Of " + NoOfMail + " Mail Sent"; } catch (System.Exception e) { // Label1.Text = e.Message; int j; j=(int.Parse(lblCount.Text) + 1); lblCount.Text = Convert.ToString(j); } } protected void ddlTemplate_SelectedIndexChanged(object sender, EventArgs e) { try { string str; str = Server.MapPath("Upload"); System.Net.WebRequest objRequest = System.Net.HttpWebRequest.Create(str + "\\" + ddlTemplate.SelectedItem.Text); StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream()); string result = sr.ReadToEnd(); string testresult = result; sr.Close(); string[] imgtag = new string[10]; int i = 0; while (testresult.Contains("")); } Literal1.Text = result; } catch { } } protected void btnReset_Click(object sender, EventArgs e) { try { ddlCategory.ClearSelection(); ddlTemplate.ClearSelection(); txtSubject.Text = ""; lblCount.Text = ""; Literal1.Text = ""; btnStop.Visible = false; btnStart.Visible = true; lblTotal.Text = ""; Image1.Visible = false; } catch { } } protected void ddlCategory_SelectedIndexChanged(object sender, EventArgs e) { try { NoOfMail = count(); } catch { } } protected void ddlServer_SelectedIndexChanged(object sender, EventArgs e) { if (ModCommon.ReturnValue("Select Server_Name from BEM_Server where Server_Kid='" + ddlServer.SelectedItem.Value + "'") == "smtp.gmail.com") { Timer1.Interval = 15000; } else { Timer1.Interval = 7000; } } }