public ActionResult Sendemail(EmailTemplate obj) { try { int prospectList = 0; string prospectListvalue = Request.Form["ddlCityCircle"]; if (prospectListvalue != "") { prospectList = Convert.ToInt32(Request.Form["ddlCityCircle"]); } string BizzTYpe, titleStandard; if (Request.Form["ddlbiztype"] == "") { BizzTYpe = ""; } else { BizzTYpe = Request.Form["ddlbiztype"]; } if (Request.Form["ddltitle"] == "") { titleStandard = ""; } else { titleStandard = Request.Form["ddltitle"]; } string TemplateId = Request.Form["ddltemplate"]; bool enablessl = false; if (Request.Form["ddlenablessl"] == "1") { enablessl = true; } else { enablessl = false; } int intmailCount = 0; var templatedata = context.SPgetemailtemplatebytemplateid(Convert.ToInt32(TemplateId)).FirstOrDefault(); templatedata.EmailBody = obj.EmailBody; string ImageName = Request.Form["hiddenImageName"].ToString(); // Logic starts here for Batch email processing [SHIVAM] string EmailBatchVal = Request.Form["EmailBatchVal"].ToString(); string BatchEmailCount = Request.Form["BatchEmailCount"].ToString(); int start_index = 0; int end_index = 0; if (!string.IsNullOrEmpty(EmailBatchVal) && !string.IsNullOrEmpty(BatchEmailCount)) { string lastBatchString = EmailBatchVal.Substring(EmailBatchVal.Length - 1); int BatchNumber = Convert.ToInt32(lastBatchString); int BatchEmailCountNumber = Convert.ToInt32(BatchEmailCount); for (int i = 0; i < BatchNumber; i++) { if (i == 0) { start_index = start_index + 0; if (BatchEmailCountNumber < 500) { if (BatchNumber - i == 1) { end_index = BatchEmailCountNumber; } else { end_index = 500; } } else { end_index = end_index + 500; } } else { if (BatchNumber - i == 1) { start_index = end_index; end_index = start_index + BatchEmailCountNumber; } else { start_index = end_index; end_index = 500 * (i + 1); } } } end_index = BatchEmailCountNumber; if (BizzTYpe == "") { var contact_details = context.SPGetDataForSendingEmailWithoutBizType(prospectList, titleStandard, start_index, end_index).ToList(); foreach (var item in contact_details) { try { int value = sendemailcontact(item.contactfullname, item.contactemail, Request.Form["txtsubject"], templatedata.EmailBody, Request.Form["txtemail"], Request.Form["txtservername"], Request.Form["txtpassword"], Request.Form["txtportno"], enablessl, ImageName); if (value == 1) { intmailCount++; } } catch (Exception ex) { continue; } } TempData["Message"] = "Total Mail sent : " + intmailCount; } else { var contact_details = context.SPGetDataForSendingEmailWithBizType(prospectList, titleStandard, BizzTYpe, start_index, end_index).ToList(); foreach (var item in contact_details) { try { int value = sendemailcontact(item.contactfullname, item.contactemail, Request.Form["txtsubject"], templatedata.EmailBody, Request.Form["txtemail"], Request.Form["txtservername"], Request.Form["txtpassword"], Request.Form["txtportno"], enablessl, ImageName); if (value == 1) { intmailCount++; } } catch (Exception ex) { continue; } } TempData["Message"] = "Total Mail sent : " + intmailCount; } } else { TempData["Message"] = "Error"; } // Logic ends here for Batch email processing [SHIVAM] TempData["Message"] = "Total Mail sent : " + intmailCount; } catch (Exception ex) { TempData["Message"] = "Error"; cm.ErrorExceptionLogingByService(ex.ToString(), "EmailSendFrom" + ":" + new StackTrace().GetFrame(0).GetMethod().Name, "Sendemail", "NA", "NA", "NA", "WEB"); } return(RedirectToAction("Index")); }