/// <summary> /// Date Created: 10/11/2011 /// Created By: Josephine Gad /// (description) Send Email /// -------------------------------------- /// Date Modified: 06/Dec/2012 /// Created By: Josephine Gad /// (description) Add security to email address by using encrypt/decrypt /// Get the email credentials from web config /// Use also the SHRSS Spport email from web config /// -------------------------------------- /// </summary> /// <param name="sFrom"></param> /// <param name="sTo"></param> /// <param name="sSubject"></param> /// <param name="sMessage"></param> public static void SendEmail(string sFrom, string sTo, string sSubject, string sMessage) { try { string sPassphrase = "Great Vacations Begin With Great Employees!"; string sUser = DecryptString(ConfigurationSettings.AppSettings["TravelmartMailUser"].ToString(), sPassphrase); string sPwd = DecryptString(ConfigurationSettings.AppSettings["TravelmartMailPassword"].ToString(), sPassphrase); string sEmail = ConfigurationSettings.AppSettings["RCCLSupportEmail"].ToString(); if (sTo != "") { string sServer = ConfigurationSettings.AppSettings["TravelmartMailServer"].ToString(); int iPort = GlobalCode.Field2Int(ConfigurationSettings.AppSettings["TravelmartMailPort"]); sFrom = sEmail; MailAddress emailFrom = new MailAddress(sFrom); MailAddress emailTo = new MailAddress(sTo); //MailMessage emailMsg = new MailMessage(emailFrom, emailTo); using (MailMessage emailMsg = new MailMessage(emailFrom, emailTo)) { emailMsg.Subject = sSubject; emailMsg.IsBodyHtml = true; emailMsg.Body = sMessage; SmtpClient emailClient = new SmtpClient(sServer, iPort); emailClient.Credentials = new System.Net.NetworkCredential(sUser, sPwd); emailClient.EnableSsl = true; emailClient.Send(emailMsg); } } } catch (Exception ex) { throw ex; } }
/// <summary> /// Date Created: 14/11/2011 /// Created By: Josephine Gad /// (description) Send Email with attachment /// -------------------------------------------------------------------------------------------------------------- /// Date Modified: 24/02/2012 /// Modified By: Charlene Remotigue /// (description) Send multiple attachments /// -------------------------------------------------------------------------------------------------------------- /// Date Modified: 27/03/2012 /// Modified By: Gabriel Oquialda /// (description) Send multiple recipient and cc /// -------------------------------------------------------------------------------------------------------------- /// Date Modified: 29/03/2012 /// Modified By: Gabriel Oquialda /// (description) Added configuration settings/appsettings key for smtp network username and password (encrypted) /// Added md5 decryption for encrypted smtp network username and password /// -------------------------------------- /// Date Modified: 06/Dec/2012 /// Created By: Josephine Gad /// (description) Get the email credentials from web config /// -------------------------------------- /// </summary> /// <param name="sFrom"></param> /// <param name="sTo"></param> /// <param name="sCc"></param> /// <param name="sSubject"></param> /// <param name="sMessage"></param> /// <param name="attachment"></param> public static void SendEmailWithAttachment(string sFrom, string sTo, string sCc, string sSubject, string sMessage, string attachment) { char[] charsToTrim = { ';' }; string sTos = sTo.TrimEnd(charsToTrim); string sCcs = sCc.TrimEnd(charsToTrim); string[] attachments = attachment.Split(';'); string[] recipients = sTos.Split(';'); string[] carboncopy; try { // Encryption (for debugging purpose only) //string EncryptedNetworkUser = EncryptString(TravelmartNetworkUser, TravelmartPassphrase); //string EncryptedNetworkPass = EncryptString(TravelmartNetworkPass, TravelmartPassphrase); // Decryption //string DecryptedNetworkUser = DecryptString(TravelmartNetworkUser, TravelmartPassphrase); //string DecryptedNetworkPass = DecryptString(TravelmartNetworkPass, TravelmartPassphrase); if (sTo != "") { string sPassphrase = "Great Vacations Begin With Great Employees!"; string sUser = DecryptString(ConfigurationSettings.AppSettings["TravelmartMailUser"].ToString(), sPassphrase); string sPwd = DecryptString(ConfigurationSettings.AppSettings["TravelmartMailPassword"].ToString(), sPassphrase); string sEmail = ConfigurationSettings.AppSettings["RCCLSupportEmail"].ToString(); string sEmailDisplay = ConfigurationSettings.AppSettings["RCCLSupportEmailDisplay"].ToString(); string sServer = ConfigurationSettings.AppSettings["TravelmartMailServer"].ToString(); int iPort = GlobalCode.Field2Int(ConfigurationSettings.AppSettings["TravelmartMailPort"]); bool isEnableSSL = GlobalCode.Field2Bool(ConfigurationSettings.AppSettings["EnableSSL"]); sFrom = sEmail; MailMessage emailMsg = new MailMessage(); emailMsg.From = new MailAddress(sFrom, sEmailDisplay); for (int i = 0; i < recipients.Length; i++) { MailAddress emailTo = new MailAddress(recipients[i]); emailMsg.To.Add(emailTo); } if (sCcs != "") { carboncopy = sCcs.Split(';'); for (int i = 0; i < carboncopy.Length; i++) { MailAddress emailCc = new MailAddress(carboncopy[i]); emailMsg.CC.Add(emailCc); } } for (int i = 0; i < attachments.Length; i++) { Attachment data = new Attachment(attachments[i], MediaTypeNames.Application.Octet); emailMsg.Attachments.Add(data); } emailMsg.Subject = sSubject; emailMsg.IsBodyHtml = true; emailMsg.Body = sMessage; //details from web config //SmtpClient emailClient = new SmtpClient(); //emailClient.Host = "mail.ptc.com.ph"; //emailClient.Host = ConfigurationSettings.AppSettings["TravelmartMailServer"].ToString(); SmtpClient emailClient = new SmtpClient(sServer, iPort); emailClient.Credentials = new System.Net.NetworkCredential(sUser, sPwd); emailClient.EnableSsl = isEnableSSL; emailClient.Send(emailMsg); } } catch (Exception ex) { throw ex; } }