Exemple #1
0
        //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);
            }
        }
Exemple #2
0
        //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;
                }
            }
        }
Exemple #3
0
        //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;
                }
            }
        }