using System; using System.Text; using System.Net.Mail; using System.Net; using System.Security.Cryptography.X509Certificates; using System.Net.Security; using System.Data; using HRM.BO.Configuration; using Microsoft.Extensions.Options; using System.Threading; namespace HRM.BO { public class MailSender { DataSet oEmpDetails = null; DataRow dRow = null; string checkSendMail = string.Empty; MailSender sender = null; string sbody = ""; string mailTitle = string.Empty; //private MailMessage mailMessage = null; private SmtpClient client = null; private object _mailbody; Employee oLineManager = null; private readonly IOptions _emailSettings; public object Mailbody { get { return _mailbody; } set { _mailbody = value; } } #region Private Variable private string _from; private string _to; private string _cc; private string _subject; private string _body; private string _attachments; private string _link; #endregion #region Event public event EventHandler client_SendCompleted; #endregion #region Constractor public MailSender() { _to = ""; _cc = ""; _body = ""; _subject = ""; _attachments = ""; _from = ""; _link = ""; } #endregion #region Properties public string CC { get { return _cc; } set { _cc = value; } } public string From { get { return _from; } set { _from = value; } } public string To { get { return _to; } set { _to = value; } } public string Subject { get { return _subject; } set { _subject = value; } } public string Body { get { return _body; } set { _body = value; } } public string Link { get { return _link; } set { _link = value; } } public string Attachments { get { return _attachments; } set { _attachments = value; } } #endregion #region Methods //public EnumSendMail SendMail() //{ // if (_to == "") // { // return EnumSendMail.ToMissing; // } // _body += AddLink(); // try // { // string[] toWhom = _to.Split(','); // if (toWhom.Length > 1) // { // _body = _body.Replace("#RECEIVER#", "Colleagues"); // if (this.Subject.ToString() == "Mid Year Review Start" || this.Subject.ToString() == "Mid Year Review Freezed") // { // //if (_toEmployee != null) // //{ // // _body = _body.Replace("#LogID#", _toEmployee.EmployeeNo); // // _body = _body.Replace("#EmpID#", _toEmployee.ID.ToString()); // //} // } // //_mailMessage = new MailMessage(_from, toWhom[0], _subject, _body); // for (int count = 1; count < toWhom.Length; count++) // { // //_mailMessage.To.Add(toWhom[count]); // } // } // else // { // _body = _body.Replace("#RECEIVER#", "Colleagues"); // if (this.Subject.ToString() == "Mid Year Review Start" || this.Subject.ToString() == "Mid Year Review Freezed") // { // //if (_toEmployee != null) // //{ // // _body = _body.Replace("#LogID#", _toEmployee.EmployeeNo); // // _body = _body.Replace("#EmpID#", _toEmployee.ID.ToString()); // // //_body = _body.Remove( // //} // } // //_mailMessage = new MailMessage(_from, _to, _subject, _body); // } // if (_cc.Length > 0) // { // //_mailMessage.CC.Add(_cc); // } // //if (_fileAttachmentPath.Length > 0) // // _mailMessage.Attachments.Add(new Attachment(_fileAttachmentPath)); // //_client = new SmtpClient(_server); // string s1 = Ease.Core.Utility.ConfigUtility.GetAppSettings("From"); // string s2 = Ease.Core.Utility.ConfigUtility.GetAppSettings("Password"); // //if (_server.Length > 0) // //{ // // if (s1 != "" && s2 != "") // // _client.Credentials = new System.Net.NetworkCredential(s1, s2); // // //_client.Send(mailMessage); // //} // //else // //{ // // return EnumSendMail.ServerNotFound; // //} // //if (_server.Length > 0) // //{ // // _client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted); // // _client.Send(_mailMessage); // //} // //else // //{ // // return EnumSendMail.ServerNotFound; // //} // } // catch (Exception ex) // { // // _errMsg = ex.Message + ex.InnerException; // return EnumSendMail.SendError; // } // return EnumSendMail.SuccessFullySend; //} //public EnumSendMail SendMail(System.Collections.Generic.List messages) //{ // try // { // //_messages = messages; // //if (_messages == null || _messages.Count <= 0) return EnumSendMail.BodyMissing; // //if (_server.Length == 0) // //{ // // return EnumSendMail.ServerNotFound; // //} // if (this.Subject.Trim().Length == 0) // { // return EnumSendMail.SubjectMissing; // } // if (this.Body.Trim().Length == 0) // { // return EnumSendMail.BodyMissing; // } // //_client = new SmtpClient(_server); // string s1 = Ease.Core.Utility.ConfigUtility.GetAppSettings("From"); // string s2 = Ease.Core.Utility.ConfigUtility.GetAppSettings("Password"); // //if (_server.Length > 0) // //{ // // if (s1 != "" && s2 != "") // // _client.Credentials = new System.Net.NetworkCredential(s1, s2); // // //_client.Send(mailMessage); // //} // //else // //{ // // return EnumSendMail.ServerNotFound; // //} // // _client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted); // SendAsync(); // } // catch (Exception ex) // { // //_errMsg = ex.Message + ex.InnerException; // return EnumSendMail.SendError; // } // return EnumSendMail.SuccessFullySend; //} //public EnumSendMail SendMail(Employee toEmp) //{ // //_toEmployee = new Employee(); // //_toEmployee = toEmp; // _to = toEmp.EmailAddress; // return SendMail(); //} //public EnumSendMail SendMail(List toEmps) //{ // foreach (Employee emp in toEmps) // { // _to = _to + emp.EmailAddress + ";"; // } // if (_to.Length > 0) // { // _to = _to.Substring(0, _to.Length - 1); // } // return SendMail(); //} //public void SendMailForNovartis() //{ // //Mail Sending using SMTP // try // { // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // MailMessage mail = new MailMessage(); // string To = _to; // mail.To.Add(To); // //string From = Ease.Core.Utility.ConfigUtility.GetAppSettings("FromAddress"); // //string userName = Ease.Core.Utility.ConfigUtility.GetAppSettings("UserID"); // //string password = Ease.Core.Utility.ConfigUtility.GetAppSettings("Password"); // //string sServer = Ease.Core.Utility.ConfigUtility.GetAppSettings("EmailServer"); // //string sPort = Ease.Core.Utility.ConfigUtility.GetAppSettings("PortNumber"); // int portNumber = Convert.ToInt32(sPort); // //Added by Ashek 25 Nov 2013 // password = Ease.Core.Utility.Global.CipherFunctions.Decrypt("Cel.Admin", password); // mail.Subject = _subject; // mail.Body = _body; // mail.From = new MailAddress(From); // mail.IsBodyHtml = true; // SmtpClient oClient = new SmtpClient(sServer, portNumber); // oClient.EnableSsl = false; // oClient.UseDefaultCredentials = false; // if (userName != "") // oClient.Credentials = new System.Net.NetworkCredential(userName, password); // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // oClient.Send(mail); // } // catch (Exception ex) // { // throw new ServiceException(ex.ToString()); // } //} public void ThreadSendMail(EmailSettings emailSettings) { Thread myNewThread = new Thread(() => SendMail(emailSettings)); myNewThread.Start(); // new WFMovementTranService().UpdateSysNotification(next.ID, true); } public void SendMail(EmailSettings emailSettings) { try { string sServer = emailSettings.EmailServer; string userID = emailSettings.UserID; string checkSendMail = emailSettings.SendMethod; string password = emailSettings.Password; string PortNumber = emailSettings.PortNumber; string CheckSSL = emailSettings.EnableSSL; password = Ease.Core.Utility.Global.CipherFunctions.Decrypt("Cel.Admin", password); //password = ""; _body = _body.Trim(' ').TrimEnd('.', ',').TrimEnd('.', ',') + AddLink(_body); _from = _from == "" ? emailSettings.FromAddress : _from; if (checkSendMail.ToUpper() == "SMTP") { MailMessage mailMessage = null; ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); client = new SmtpClient(sServer, PortNumber != string.Empty ? Convert.ToInt32(PortNumber) : 25); client.EnableSsl = CheckSSL.ToUpper() == "YES" ? true : false; if (sServer.Length > 0) { client.UseDefaultCredentials = true; if (userID != "" && password != "") { client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(userID, password); } mailMessage = new MailMessage(_from, _to, _subject, _body); mailMessage.IsBodyHtml = true; if (_cc.Length > 0) { if(_cc.Contains(';')) { string[] ccEmails = _cc.Split(';'); foreach (string ccEmail in ccEmails) { mailMessage.CC.Add(ccEmail); } } else mailMessage.CC.Add(_cc); } if (_attachments.Length > 0) { mailMessage.Attachments.Add(new System.Net.Mail.Attachment(_attachments)); } ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); client.Send(mailMessage); mailMessage.Dispose(); client.Dispose(); } } #region EWSUrl /*else if (Enum.IsDefined(typeof(ExchangeVersion), checkSendMail)) { ExchangeVersion enmExchangeVersion = (ExchangeVersion)Enum.Parse(typeof(ExchangeVersion), checkSendMail); ExchangeService oService = new ExchangeService(enmExchangeVersion); EmailMessage oMessage; //oService.AutodiscoverUrl(_from, delegate { return true; }); ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); oService.UseDefaultCredentials = false; if (userID != "" && password != "") { oService.UseDefaultCredentials = false; oService.Credentials = new NetworkCredential(userID, password, sServer); } if (EWSUrl != string.Empty) { oService.Url = new Uri(EWSUrl); } else { try { oService.AutodiscoverUrl(_from); } catch (Exception) { oService.AutodiscoverUrl(_from, (calbackURL) => calbackURL.Trim().ToLower().StartsWith("https://")); } } /*oMessage = new EmailMessage(oService); oMessage.Subject = _subject; oMessage.Body = _body; oMessage.ToRecipients.Add(_to); oMessage.From = new EmailAddress(_from); if (!string.IsNullOrEmpty(_attachments)) oMessage.Attachments.AddFileAttachment(Attachments); oMessage.Send();#1# }*/ #endregion } catch (Exception ex) { StringBuilder sb = new StringBuilder(); sb.Append(ex.Message); Exception innerException = ex.InnerException; while (innerException != null) { sb.Append("--> inner Exception: "); sb.Append(innerException.Message); innerException = innerException.InnerException; } throw new MailSenderException(sb.ToString()); } } public void SendMail(EmailSettings emailSettings,Attachment att) { try { string sServer = emailSettings.EmailServer; string userID = emailSettings.UserID; string checkSendMail = emailSettings.SendMethod; ; string password = emailSettings.Password; string PortNumber = emailSettings.PortNumber; string CheckSSL = emailSettings.EnableSSL; password = Ease.Core.Utility.Global.CipherFunctions.Decrypt("Cel.Admin", password); //password = ""; _body = _body.Trim(' ').TrimEnd('.', ',').TrimEnd('.', ',') + AddLink(_body); _from = _from == "" ? emailSettings.FromAddress : _from; if (checkSendMail.ToUpper() == "SMTP") { MailMessage mailMessage = null; ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); client = new SmtpClient(sServer, PortNumber != string.Empty ? Convert.ToInt32(PortNumber) : 25); client.EnableSsl = CheckSSL.ToUpper() == "YES" ? true : false; if (sServer.Length > 0) { client.UseDefaultCredentials = true; if (userID != "" && password != "") { client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(userID, password); } mailMessage = new MailMessage(_from, _to, _subject, _body); mailMessage.IsBodyHtml = true; mailMessage.Attachments.Add(att); if (_cc.Length > 0) { mailMessage.CC.Add(_cc); } if (_attachments.Length > 0) { mailMessage.Attachments.Add(new System.Net.Mail.Attachment(_attachments)); } ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); client.Send(mailMessage); mailMessage.Dispose(); client.Dispose(); } } #region EWSUrl /*else if (Enum.IsDefined(typeof(ExchangeVersion), checkSendMail)) { ExchangeVersion enmExchangeVersion = (ExchangeVersion)Enum.Parse(typeof(ExchangeVersion), checkSendMail); ExchangeService oService = new ExchangeService(enmExchangeVersion); EmailMessage oMessage; //oService.AutodiscoverUrl(_from, delegate { return true; }); ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); oService.UseDefaultCredentials = false; if (userID != "" && password != "") { oService.UseDefaultCredentials = false; oService.Credentials = new NetworkCredential(userID, password, sServer); } if (EWSUrl != string.Empty) { oService.Url = new Uri(EWSUrl); } else { try { oService.AutodiscoverUrl(_from); } catch (Exception) { oService.AutodiscoverUrl(_from, (calbackURL) => calbackURL.Trim().ToLower().StartsWith("https://")); } } /*oMessage = new EmailMessage(oService); oMessage.Subject = _subject; oMessage.Body = _body; oMessage.ToRecipients.Add(_to); oMessage.From = new EmailAddress(_from); if (!string.IsNullOrEmpty(_attachments)) oMessage.Attachments.AddFileAttachment(Attachments); oMessage.Send();#1# }*/ #endregion } catch (Exception ex) { StringBuilder sb = new StringBuilder(); sb.Append(ex.Message); Exception innerException = ex.InnerException; while (innerException != null) { sb.Append("--> inner Exception: "); sb.Append(innerException.Message); innerException = innerException.InnerException; } throw new MailSenderException(sb.ToString()); } } //public EnumSendMail SendPaySlipMail() //{ // EnumSendMail sendStatus = EnumSendMail.SuccessFullySend; // try // { // string sServer = Ease.Core.Utility.ConfigUtility.GetAppSettings("EmailServer"); // string userID = Ease.Core.Utility.ConfigUtility.GetAppSettings("UserID"); // string checkSendMail = Ease.Core.Utility.ConfigUtility.GetAppSettings("SendMethod"); // string password = Ease.Core.Utility.ConfigUtility.GetAppSettings("Password"); // string PortNumber = Ease.Core.Utility.ConfigUtility.GetAppSettings("PortNumber"); // string CheckSSL = Ease.Core.Utility.ConfigUtility.GetAppSettings("EnableSSL"); // string EWSUrl = Ease.Core.Utility.ConfigUtility.GetAppSettings("EWSEndpoint"); // password = Ease.Core.Utility.Global.CipherFunctions.Decrypt("Cel.Admin", password); // _body += AddLink(); // _from = _from == "" ? Ease.Core.Utility.ConfigUtility.GetAppSettings("FromAddress") : _from; // if (string.IsNullOrEmpty(_from)) // { // sendStatus = EnumSendMail.FromMissing; // goto y; // } // if (string.IsNullOrEmpty(_to)) // { // sendStatus = EnumSendMail.ToMissing; // goto y; // } // if (checkSendMail.ToUpper() == "SMTP") // { // MailMessage mailMessage = null; // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // client = new SmtpClient(sServer, PortNumber != string.Empty ? Convert.ToInt32(PortNumber) : 25); // client.EnableSsl = CheckSSL.ToUpper() == "YES" ? true : false; // if (sServer.Length > 0) // { // client.UseDefaultCredentials = true; // if (userID != "" && password != "") // { // client.UseDefaultCredentials = false; // client.Credentials = new System.Net.NetworkCredential(userID, password); // } // mailMessage = new MailMessage(_from, _to, _subject, _body); // mailMessage.IsBodyHtml = true; // if (_cc.Length > 0) { mailMessage.CC.Add(_cc); } // if (_attachments.Length > 0) { mailMessage.Attachments.Add(new System.Net.Mail.Attachment(_attachments)); } // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // client.Send(mailMessage); // } // } // else if (Enum.IsDefined(typeof(ExchangeVersion), checkSendMail)) // { // ExchangeVersion enmExchangeVersion = (ExchangeVersion)Enum.Parse(typeof(ExchangeVersion), checkSendMail); // ExchangeService oService = new ExchangeService(enmExchangeVersion); // EmailMessage oMessage; // //oService.AutodiscoverUrl(_from, delegate { return true; }); // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // oService.UseDefaultCredentials = true; // if (userID != "" && password != "") // { // oService.UseDefaultCredentials = false; // oService.Credentials = new NetworkCredential(userID, password, sServer); // } // if (EWSUrl != string.Empty) // { // oService.Url = new Uri(EWSUrl); // } // else // { // try // { // oService.AutodiscoverUrl(_from); // } // catch (Exception) // { // oService.AutodiscoverUrl(_from, (calbackURL) => calbackURL.Trim().ToLower().StartsWith("https://")); // } // } // oMessage = new EmailMessage(oService); // oMessage.Subject = _subject; // oMessage.Body = _body; // oMessage.ToRecipients.Add(_to); // oMessage.From = new EmailAddress(_from); // if (!string.IsNullOrEmpty(_attachments)) // oMessage.Attachments.AddFileAttachment(Attachments); // oMessage.Send(); // } // } // catch (Exception ex) // { // //StringBuilder sb = new StringBuilder(); // //sb.Append(ex.Message); // //Exception innerException = ex.InnerException; // //while (innerException != null) // //{ // // sb.Append("--> inner Exception: "); // // sb.Append(innerException.Message); // // innerException = innerException.InnerException; // //} // //throw new MailSenderException(sb.ToString()); // sendStatus = EnumSendMail.SendError; // goto y; // } //y: // return sendStatus; //} //public void SendMail() //{ // string s1=""; // try // { // //lock (this) // //{ // if (_from == "") // { // s1 = Ease.Core.Utility.ConfigUtility.GetAppSettings("FromAddress"); // _from = s1; // } // else s1 = _from; // //string s2 = Ease.Core.Utility.ConfigUtility.GetAppSettings("Password"); // string userID = Ease.Core.Utility.ConfigUtility.GetAppSettings("UserID"); // string password = Ease.Core.Utility.ConfigUtility.GetAppSettings("Password"); // string sServer = Ease.Core.Utility.ConfigUtility.GetAppSettings("EmailServer"); // _body += AddLink(); // mailMessage = new MailMessage(_from, _to, _subject, _body); // mailMessage.IsBodyHtml = true; // if (_cc.Length > 0) // { // mailMessage.CC.Add(_cc); // } // if (_attachments.Length > 0) // mailMessage.Attachments.Add(new System.Net.Mail.Attachment(_attachments)); // string checkSendMail = Ease.Core.Utility.ConfigUtility.GetAppSettings("SendMethod"); // if (checkSendMail.ToUpper() == "SMTP") // { // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // mailMessage.From = new MailAddress(_from); // mailMessage.To.Add(_to); // mailMessage.Subject = _subject; // mailMessage.Body = _body; // mailMessage.IsBodyHtml = true; // string PortNumber = Ease.Core.Utility.ConfigUtility.GetAppSettings("PortNumber"); // if (PortNumber != string.Empty) // { // client = new SmtpClient(sServer, Convert.ToInt32(PortNumber)); // } // else // { // client = new SmtpClient(sServer, 25); // } // //Close Server Certification Validation // //ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; // //client = new SmtpClient(sServer); // string CheckSSL = Ease.Core.Utility.ConfigUtility.GetAppSettings("EnableSSL"); // if (CheckSSL.ToUpper() == "YES") // client.EnableSsl = true; // else // client.EnableSsl = false; // client.UseDefaultCredentials = false; // if (sServer.Length > 0) // { // if (userID != "" && password != "") // client.Credentials = new System.Net.NetworkCredential(s1, password); // ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); // client.Send(mailMessage); // } // } // else // { // ExchangeService oService = new ExchangeService(ExchangeVersion.Exchange2010_SP1); // EmailMessage oMessage; // try // { // oService.AutodiscoverUrl(_from, delegate { return true; }); // oService.Credentials = new NetworkCredential(sServer, "clientvision", Environment.UserDomainName); // oMessage = new EmailMessage(oService); // oMessage.Subject = _subject; // oMessage.Body = _body; // oMessage.ToRecipients.Add(_to); // oMessage.From = new EmailAddress(_from); // oMessage.SendAndSaveCopy(); // } // catch (System.Exception ex) // { // throw new System.Exception(ex.Message); // } // } // } // } // catch (Exception ex) // { // throw new ServiceException("Cannot Send Mail :" + ex.Message); // } //} public void AddCC(string cc) { if (IsValidEmail(cc)) { if (_cc == "") _cc += cc; else _cc += ";" + cc; } } public void AddTo(string to) { if (IsValidEmail(to)) { if (_to == "") _to += to; else _to += to + ";"; } } public void AddAttachment(string attachment) { if (_attachments == "") _attachments += attachment; else _attachments += attachment + ";"; } public string AddLink() { if (_link.Length > 0) { //return ( Environment.NewLine + Environment.NewLine + Environment.NewLine + // "
Please, click on the following link to take action." + // Environment.NewLine + Environment.NewLine + // "Link " + // //"<" + _link.ToString() + ">" + // Environment.NewLine + Environment.NewLine + Environment.NewLine + // "



This is a computer generated mail. Please don't reply.
"); return (". Please click on this " + _link.ToString() + " " + " to take action in Luminous self-service (if require)." + "

This is a system generated mail, Please do not reply."); } else { return "

This is a system generated mail, Please do not reply."; } } public string AddLink(string sbody) { if (_link.Length > 0) { //return ( Environment.NewLine + Environment.NewLine + Environment.NewLine + // "
Please, click on the following link to take action." + // Environment.NewLine + Environment.NewLine + // "Link " + // //"<" + _link.ToString() + ">" + // Environment.NewLine + Environment.NewLine + Environment.NewLine + // "



This is a computer generated mail. Please don't reply.
"); if (sbody.Contains("recognition") && sbody.Contains("approved")) { return ("To see the details, please click on this " + _link.ToString() + "

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("recognition")) { return ("To approve the nomination, please click on this " + _link.ToString() + "

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("reverted")) { return (". Please click on this " + _link.ToString() + " " + " to access." + "

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("Declined")) { return (". Please click on this " + _link.ToString() + " " + " to access." + "

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("Recruitment")) { if ((sbody.Contains("Department") && sbody.Contains("Head")) || sbody.Contains("approved by HR")) { return (". To accept the request, please click on this " + _link.ToString() + " to access.

This is a system generated mail, Please do not reply."); } return (". Please click on this " + _link.ToString() + " to access.

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("approved")) { return (". Please click on this " + _link.ToString() + " " + " to access." + "

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("accepted")) { return (". Please click on this link for access: " + _link.ToString() + " " + " ." + "

This is a system generated mail, Please do not reply."); } else if (sbody.Contains("Attendance")) { return ( _link.ToString() + "

This is a system generated mail, Please do not reply."); } else { //return (". To approve the leave, please click on this " + _link.ToString()+"." + "

This is a system generated mail, Please do not reply."); return (". To accept the reliever request during the mentioned period, please click on this " + _link.ToString() + "." + "

This is a system generated mail, Please do not reply."); } // return (". Please click on this " + _link.ToString() + " " + " to take action in Luminous self-service (if require)." + "

This is a system generated mail, Please do not reply."); } else { return "

This is a system generated mail, Please do not reply."; } } public static bool IsValidEmail(string inputEmail) { int n1 = inputEmail.IndexOf("@"); int n2 = inputEmail.IndexOf("."); int n4 = inputEmail.LastIndexOf("."); int n3 = inputEmail.IndexOf(" "); if (n3 > 0) return false; if (n2 < n4) n2 = n4; if (n1 < n2) return true; else return false; } public bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { // replace with proper validation if (sslPolicyErrors == SslPolicyErrors.None) return true; else return false; } #endregion //circular //public void SendMailForAttendance(Employee oEmp) //{ // try // { // checkSendMail = Ease.Core.Utility.ConfigUtility.GetAppSettings("SendMethod"); // MailSender sender = new MailSender(); // List _employees = Employee.Get(); // oEmpDetails = Employee.GetEmpDetailsView(); // dRow = oEmpDetails.Tables[0].AsEnumerable().Where(x => Convert.ToString(x["EmployeeNo"]) == oEmp.EmployeeNo.Trim()).FirstOrDefault(); // if (dRow != null) // { // oLineManager = _employees.Where(o => o.EmployeeNo == dRow["LineManagerNo"].ToString().Trim()).FirstOrDefault(); // if (oLineManager != null) // { // sbody = " Dear " + oLineManager.Name + ", " + "

" + oEmp.Name + " has submitted a Attendance Regularization request. To accept the request, please click on this " + "" + "

"; // mailTitle = "Incomplete Regularization "; // SetProperty(mailTitle, sbody, oLineManager.EmailAddress); // } // } // } // catch (Exception ex) // { // throw new ServiceException(ex.ToString()); // } //} public void SetProperty(string mailSubject, string mailDescription, string emailAddress) { if (emailAddress != string.Empty) { sender = new MailSender(); sender.AddTo(emailAddress); sender.Subject = mailSubject; sender.Body = mailDescription; sender.Link = "http://115.127.93.53:8088/default.aspx"; // Ease.Core.Utility.ConfigUtility.GetAppSettings("WebAddress"); //if (checkSendMail != "") // sender.SendMail(); } } public static void SendLHEmail(string emailTo, string emailFrom, string subject, string emailBody) { //System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage(); //mail.From = emailFrom; //mail.Subject = subject; //mail.BodyFormat = System.Web.Mail.MailFormat.Html; //mail.Body = emailBody; //mail.To = emailTo; //System.Web.Mail.SmtpMail.SmtpServer = Ease.Core.Utility.ConfigUtility.GetAppSettings("EmailServer"); ; //System.Web.Mail.SmtpMail.Send(mail); } } public class MailSenderException : Exception { public MailSenderException(string message) : base("Failed to Send Mail due to:" + message) { } public MailSenderException(string message, Exception innerException) : base("Failed to Send Mail due to:" + message, innerException) { } } }