//Harsha private void SimulateMail(IRMSEmail objEmailConfigEntities) { SmtpClient mailClient = null; MailMessage message = null; string strFrom = objEmailConfigEntities.From; if (strFrom.Trim() == string.Empty) { //--Get logged in user AuthorizationManager.AuthorizationManager authoriseduser = new AuthorizationManager.AuthorizationManager(); strFrom = authoriseduser.getLoggedInUserEmailId(); //GoogleMail //strFrom = getLoggedInUserEmailId(); } string strTo = string.Join(",", (string[])objEmailConfigEntities.To.ToArray(Type.GetType("System.String"))); string strCC = string.Join(",", (string[])objEmailConfigEntities.CC.ToArray(Type.GetType("System.String"))); string strSubject = objEmailConfigEntities.Subject; string strBody = objEmailConfigEntities.Body; string strHead = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\"><META content=\"MSHTML 6.00.6000.16525\" name=GENERATOR><STYLE></STYLE></HEAD><BODY><DIV><FONT face=Verdana size=2>"; string strFooter = "</font></div></body>"; mailClient = new SmtpClient(); message = new MailMessage(); string strFullBody = strBody; //smtp mail host mailClient.Host = ConfigurationManager.AppSettings["SmtpServer"]; //smtp mail port mailClient.Port = int.Parse(ConfigurationManager.AppSettings["Port"]); //from mail Address MailAddress fromAddress = new MailAddress(strFrom); message.From = fromAddress; char chr = ','; strTo = strTo.Trim(chr); strCC = strCC.Trim(chr); string[] strToMails = strTo.Split(chr); string[] strCCMails = strCC.Split(chr); for (int cont = 0; cont < strToMails.Length; cont++) { //to mail address //if (strToMails[cont].Trim() != "") //{ // // CR - 29936 Sachin Start // // Commented following code and Added conditions to check whether employee has exited of not // // message.To.Add(strToMails[cont]); // Employee EmpTo = new Employee(); //BusinessEntities.Employee emp = new BusinessEntities.Employee(); //emp.EmailID = strToMails[cont]; //emp = EmpTo.GetEmployeeByEmpId(emp); // if (emp != null && emp.LastWorkingDay != null) // { // if (emp.LastWorkingDay == DateTime.MinValue) // message.To.Add(strToMails[cont]); // } // // CR - 29936 Sachin End //} //to mail address if (strToMails[cont].Trim() != "" && !CommonConstants.CFOEmailIDs.ToUpper().Contains(strToMails[cont].ToUpper().Trim())) { //Harsha- Issue Fix- Start //Description- If a single manager submits/rejects nomination for multiple employees, his/her email id appears multiple times in the email (CC). IEnumerator <MailAddress> e = message.To.GetEnumerator(); bool contains = false; while (e.MoveNext()) { if (e.Current.ToString() == strToMails[cont]) { contains = true; } else { contains = false; } } if (!contains) { message.To.Add(strToMails[cont]); } //Harsha- Issue Fix- End } } for (int cont = 0; cont < strCCMails.Length; cont++) { //cc mail address if (strCCMails[cont].Trim() != "") { // CR - 29936 Sachin // Commented following code and Added conditions to check whether employee has exited of not // message.CC.Add(strCCMails[cont]); //Rave.HR.BusinessLayer.Employee.Employee EmpTo = new Rave.HR.BusinessLayer.Employee.Employee(); //BusinessEntities.Employee emp = new BusinessEntities.Employee(); //emp.EmailId = strCCMails[cont]; //emp = EmpTo.GetEmployeeByEmpId(emp); //if (emp != null && emp.LastWorkingDay != null) //{ // if (emp.LastWorkingDay == DateTime.MinValue) // message.CC.Add(strCCMails[cont]); //} // CR - 29936 Sachin End //cc mail address if (strCCMails[cont].Trim() != "" && !CommonConstants.CFOEmailIDs.ToUpper().Contains(strCCMails[cont].ToUpper().Trim())) { //Harsha- Issue Fix- Start //Description- If a single manager submits/rejects nomination for multiple employees, his/her email id appears multiple times in the email (CC). IEnumerator <MailAddress> e = message.CC.GetEnumerator(); bool contains = false; while (e.MoveNext()) { if (e.Current.ToString() == strCCMails[cont]) { contains = true; } else { contains = false; } } if (!contains) { message.CC.Add(strCCMails[cont]); } //Harsha- Issue Fix- End } } } //--CC to self message.CC.Add(strFrom); //--Subject message.Subject = strSubject; //--Body message.Body = strHead + strFullBody + strFooter; message.IsBodyHtml = true; string fileName = (objEmailConfigEntities.Subject.Replace("]", "_") + DateTime.Now).Replace("[", "_").Replace(",", "_").Replace(".", "").Replace(":", "").Replace("/", "_") + ".html"; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(ConfigurationManager.AppSettings["LocalEmailPath"].ToString() + fileName)) { sw.WriteLine("From: " + message.From); sw.WriteLine("To: " + message.To); sw.WriteLine("CC: " + message.CC); sw.WriteLine(message.Body); } }
//send mail function public void SendEmail(IRMSEmail objEmailConfigEntities) { SmtpClient mailClient = null; MailMessage message = null; try { //--Check mailing on or off if (ConfigurationManager.AppSettings["MailingOnOrOff"].ToString().ToLower() == "off") { return; } //--Get the entity values string strFrom = objEmailConfigEntities.From; if (strFrom.Trim() == string.Empty) { //--Get logged in user AuthorizationManager authoriseduser = new AuthorizationManager(); strFrom = authoriseduser.getLoggedInUserEmailId(); //GoogleMail //strFrom = getLoggedInUserEmailId(); } string strTo = string.Join(",", (string[])objEmailConfigEntities.To.ToArray(Type.GetType("System.String"))); string strCC = string.Join(",", (string[])objEmailConfigEntities.CC.ToArray(Type.GetType("System.String"))); string strSubject = objEmailConfigEntities.Subject; string strBody = objEmailConfigEntities.Body; string strHead = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\"><META content=\"MSHTML 6.00.6000.16525\" name=GENERATOR><STYLE></STYLE></HEAD><BODY><DIV><FONT face=Verdana size=2>"; string strFooter = "</font></div></body>"; mailClient = new SmtpClient(); message = new MailMessage(); string strFullBody = strBody; //smtp mail host mailClient.Host = ConfigurationSettings.AppSettings["SmtpServer"]; //smtp mail port mailClient.Port = int.Parse(ConfigurationSettings.AppSettings["Port"]); //from mail Address MailAddress fromAddress = new MailAddress(strFrom); message.From = fromAddress; char chr = ','; strTo = strTo.Trim(chr); strCC = strCC.Trim(chr); string[] strToMails = strTo.Split(chr); string[] strCCMails = strCC.Split(chr); for (int cont = 0; cont < strToMails.Length; cont++) { //to mail address if (strToMails[cont].Trim() != "") { // CR - 29936 Sachin Start // Commented following code and Added conditions to check whether employee has exited of not // message.To.Add(strToMails[cont]); Rave.HR.BusinessLayer.Employee.Employee EmpTo = new Rave.HR.BusinessLayer.Employee.Employee(); BusinessEntities.Employee emp = new BusinessEntities.Employee(); emp.EmailId = strToMails[cont]; emp = EmpTo.GetEmployeeByEmpId(emp); if (emp != null && emp.LastWorkingDay != null) { if (emp.LastWorkingDay == DateTime.MinValue) { message.To.Add(strToMails[cont]); } } // CR - 29936 Sachin End } } for (int cont = 0; cont < strCCMails.Length; cont++) { //cc mail address if (strCCMails[cont].Trim() != "") { // CR - 29936 Sachin // Commented following code and Added conditions to check whether employee has exited of not // message.CC.Add(strCCMails[cont]); Rave.HR.BusinessLayer.Employee.Employee EmpTo = new Rave.HR.BusinessLayer.Employee.Employee(); BusinessEntities.Employee emp = new BusinessEntities.Employee(); emp.EmailId = strCCMails[cont]; emp = EmpTo.GetEmployeeByEmpId(emp); if (emp != null && emp.LastWorkingDay != null) { if (emp.LastWorkingDay == DateTime.MinValue) { message.CC.Add(strCCMails[cont]); } } // CR - 29936 Sachin End } } //--CC to self message.CC.Add(strFrom); //--Subject message.Subject = strSubject; //--Body message.Body = strHead + strFullBody + strFooter; message.IsBodyHtml = true; //--Send mailClient.Send(message); } catch (RaveHRException ex) { throw ex; } catch (Exception ex) { throw new RaveHRException(ex.Message, ex, Sources.CommonLayer, CLASS_NAME_RP, "SendEmail", EventIDConstants.MAIL_EXCEPTION); } finally { if (message != null) { message = null; } if (mailClient != null) { mailClient = null; } } }
//send mail function public void SendEmail(IRMSEmail objEmailConfigEntities) { SmtpClient mailClient = null; MailMessage message = null; try { if (ConfigurationManager.AppSettings["MailingOnOrOff"].ToString().ToLower() == "off") { SimulateMail(objEmailConfigEntities); return; } //--Get the entity values string strFrom = objEmailConfigEntities.From; if (strFrom.Trim() == string.Empty) { //--Get logged in user AuthorizationManager.AuthorizationManager authoriseduser = new AuthorizationManager.AuthorizationManager(); strFrom = authoriseduser.getLoggedInUserEmailId(); //GoogleMail //strFrom = getLoggedInUserEmailId(); } string strTo = string.Join(",", (string[])objEmailConfigEntities.To.ToArray(Type.GetType("System.String"))); string strCC = string.Join(",", (string[])objEmailConfigEntities.CC.ToArray(Type.GetType("System.String"))); string strSubject = objEmailConfigEntities.Subject; string strBody = objEmailConfigEntities.Body; string strHead = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\"><META content=\"MSHTML 6.00.6000.16525\" name=GENERATOR><STYLE></STYLE></HEAD><BODY><DIV><FONT face=Verdana size=2>"; string strFooter = "</font></div></body>"; mailClient = new SmtpClient(); message = new MailMessage(); string strFullBody = strBody; //smtp mail host mailClient.Host = ConfigurationManager.AppSettings["SmtpServer"]; //smtp mail port mailClient.Port = int.Parse(ConfigurationManager.AppSettings["Port"]); //from mail Address MailAddress fromAddress = new MailAddress(strFrom); message.From = fromAddress; char chr = ','; strTo = strTo.Trim(chr); strCC = strCC.Trim(chr); string[] strToMails = strTo.Split(chr); string[] strCCMails = strCC.Split(chr); for (int cont = 0; cont < strToMails.Length; cont++) { //to mail address if (strToMails[cont].Trim() != "" && !CommonConstants.CFOEmailIDs.ToUpper().Contains(strToMails[cont].ToUpper().Trim())) { //Harsha- Issue Fix- Start //Description- If a single manager submits/rejects nomination for multiple employees, his/her email id appears multiple times in the email (CC). IEnumerator <MailAddress> e = message.To.GetEnumerator(); bool contains = false; while (e.MoveNext()) { if (e.Current.ToString() == strToMails[cont]) { contains = true; } else { contains = false; } } if (!contains) { message.To.Add(strToMails[cont]); } //Harsha- Issue Fix- End } } for (int cont = 0; cont < strCCMails.Length; cont++) { //cc mail address if (strCCMails[cont].Trim() != "" && !CommonConstants.CFOEmailIDs.ToUpper().Contains(strCCMails[cont].ToUpper().Trim())) { //Harsha- Issue Fix- Start //Description- If a single manager submits/rejects nomination for multiple employees, his/her email id appears multiple times in the email (CC). IEnumerator <MailAddress> e = message.CC.GetEnumerator(); bool contains = false; while (e.MoveNext()) { if (e.Current.ToString() == strCCMails[cont]) { contains = true; } else { contains = false; } } if (!contains) { message.CC.Add(strCCMails[cont]); } //Harsha- Issue Fix- End } } //--CC to self message.CC.Add(strFrom); //--Subject message.Subject = strSubject; //--Body message.Body = strHead + strFullBody + strFooter; message.IsBodyHtml = true; // Add Attachemnt foreach (Attachment att in Attachments) { message.Attachments.Add(att); } mailClient.Send(message); } catch (RaveHRException ex) { throw ex; } catch (Exception ex) { throw new RaveHRException(ex.Message, ex, Sources.CommonLayer, CLASS_NAME_RP, "SendEmail", EventIDConstants.MAIL_EXCEPTION); } finally { if (message != null) { message = null; } if (mailClient != null) { mailClient = null; } } }