public long SaveEmailStatus(Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus, string MessageId, string EmailType, string EmailBody) { try { SqlDatabase database = MSSQLDataBase.Instance.GetDefaultDatabase(); { DbCommand command = database.GetStoredProcCommand("SaveEmailStatus"); command.CommandType = CommandType.StoredProcedure; database.AddInParameter(command, "@MessageId", DbType.String, MessageId); database.AddInParameter(command, "@EmailType", DbType.String, EmailType); database.AddInParameter(command, "@TransactionId", DbType.Guid, EmailStatus.TransactionID); database.AddInParameter(command, "@ToEmail", DbType.String, EmailStatus.To); database.AddInParameter(command, "@FromEmail", DbType.String, EmailStatus.From); //database.AddInParameter(command, "@DateSend", DbType.String, EmailStatus.DateSent); database.AddInParameter(command, "@DateOpened", DbType.DateTime, EmailStatus.DateOpened); database.AddInParameter(command, "@DateClicked", DbType.DateTime, EmailStatus.DateClicked); database.AddInParameter(command, "@Status", DbType.Int32, (int)EmailStatus.Status); database.AddInParameter(command, "@StatusName", DbType.String, EmailStatus.StatusName); database.AddInParameter(command, "@StatusChangeDate", DbType.DateTime, EmailStatus.StatusChangeDate); database.AddInParameter(command, "@ErrorMessage", DbType.String, EmailStatus.ErrorMessage); database.AddInParameter(command, "@EmailBody", DbType.String, EmailBody); DataSet returndata = database.ExecuteDataSet(command); return(Convert.ToInt64(returndata.Tables[0].Rows[0][0])); } } catch (Exception ex) { throw ex; } }
public void UpdateEmailStatus(Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus) { try { SqlDatabase database = MSSQLDataBase.Instance.GetDefaultDatabase(); { DbCommand command = database.GetStoredProcCommand("UpdateEmailStatus"); command.CommandType = CommandType.StoredProcedure; database.AddInParameter(command, "@TransactionId", DbType.Guid, EmailStatus.TransactionID); database.AddInParameter(command, "@ToEmail", DbType.String, EmailStatus.To); database.AddInParameter(command, "@Status", DbType.String, (int)EmailStatus.Status); database.AddInParameter(command, "@StatusChangeDate", DbType.String, EmailStatus.StatusChangeDate); database.ExecuteNonQuery(command); } } catch (Exception ex) { throw ex; } }
public static void UpdateEmailStatus(string transaction, string to, string date, string status, string channel, string account, string category, string target) { Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus = new Common.ElasticEmailClient.ApiTypes.EmailStatus(); if (!string.IsNullOrEmpty(transaction)) { EmailStatus.TransactionID = new Guid(transaction); } if (!string.IsNullOrEmpty(to)) { EmailStatus.To = to; } if (!string.IsNullOrEmpty(date)) { EmailStatus.StatusChangeDate = Convert.ToDateTime(date); } if (!string.IsNullOrEmpty(status)) { EmailStatus.Status = status.ToEnum <Common.ElasticEmailClient.ApiTypes.LogJobStatus>(); } UtilityDAL.Instance.UpdateEmailStatus(EmailStatus); }
private static long SendEmailAsync(string EmailType, string strEmailTemplate, string strToAddress, string strSubject, string strBody, List <Attachment> lstAttachments, List <AlternateView> lstAlternateView = null, string[] CC = null, string[] BCC = null) { bool retValue = false; //if (!InstallUserBLL.Instance.CheckUnsubscribedEmail(strToAddress)) //{ try { /* Sample HTML Template * ***************************************************************************** * Hi #lblFName#, * <br/> * <br/> * You are requested to appear for an interview on #lblDate# - #lblTime#. * <br/> * <br/> * Regards, * <br/> */ string defaultEmailFrom = ConfigurationManager.AppSettings["defaultEmailFrom"].ToString(); string userName = ConfigurationManager.AppSettings["smtpUName"].ToString(); string password = ConfigurationManager.AppSettings["smtpPwd"].ToString(); //if (JGApplicationInfo.GetApplicationEnvironment() == "1" || JGApplicationInfo.GetApplicationEnvironment() == "2") //{ // strBody = String.Concat(strBody, "<br/><br/><h1>Email is intended for Email Address: " + strToAddress + "</h1><br/><br/>"); // strToAddress = "*****@*****.**"; //} MailMessage Msg = new MailMessage(); Msg.From = new MailAddress(defaultEmailFrom, "JGrove Construction"); if (JGApplicationInfo.GetApplicationEnvironment() == "1" || JGApplicationInfo.GetApplicationEnvironment() == "2") { strBody = String.Concat(strBody, "<br/><br/><h1>Email is intended for Email Address: " + string.Join(", ", strToAddress) + "</h1><br/><br/>"); Msg.To.Add("*****@*****.**"); Msg.To.Add("*****@*****.**"); } else { if (!InstallUserBLL.Instance.CheckUnsubscribedEmail(strToAddress)) { Msg.To.Add(strToAddress); } } #region Check for autologin url if (strBody.Contains("{AutoLoginCode}")) { // Generate auto login code string loginCode = InstallUserDAL.Instance.GenerateLoginCode(strToAddress).Object; strBody = strBody.Replace("{AutoLoginCode}", loginCode); } #endregion // Msg.To.Add(strToAddress); // Msg.Bcc.Add(JGApplicationInfo.GetDefaultBCCEmail()); Msg.Subject = strSubject;// "JG Prospect Notification"; Msg.Body = strBody; Msg.IsBodyHtml = true; if (CC != null) { foreach (string email in CC) { Msg.CC.Add(email); } } if (BCC != null) { foreach (string email in BCC) { Msg.Bcc.Add(email); } } //ds = AdminBLL.Instance.GetEmailTemplate(''); //// your remote SMTP server IP. if (lstAttachments != null) { foreach (Attachment objAttachment in lstAttachments) { Msg.Attachments.Add(objAttachment); } } if (lstAlternateView != null) { foreach (AlternateView objAlternateView in lstAlternateView) { Msg.AlternateViews.Add(objAlternateView); } } SmtpClient sc = new SmtpClient( ConfigurationManager.AppSettings["smtpHost"].ToString(), Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"].ToString()) ); NetworkCredential ntw = new NetworkCredential(userName, password); sc.UseDefaultCredentials = false; sc.Credentials = ntw; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["enableSSL"].ToString()); // runtime encrypt the SMTP communications using SSL //sc.Send(Msg); Common.ElasticEmailClient.ApiTypes.EmailSend data = Common.ElasticEmailClient.Api.Email.Send(subject: strSubject, from: ConfigurationManager.AppSettings["defaultEmailFrom"].ToString(), to: new List <string> { strToAddress }, bodyHtml: strBody, isTransactional: true, trackOpens: true, trackClicks: true); /* * JG_Prospect.Common.ElasticEmailClient.ApiTypes.EmailStatus data = * JG_Prospect.Common.ElasticEmailClient.Api.Email.Status("0zkOx0X3qGqbp74sVO-nYg2"); * * JG_Prospect.Common.ElasticEmailClient.ApiTypes.EmailJobStatus ss = * JG_Prospect.Common.ElasticEmailClient.Api.Email.GetStatus("310e4832-13a6-81c5-c032-307a2ff9dc58", showFailed: true, showSent: true, * showDelivered: true, showPending: true, showOpened: true, showClicked: true, showAbuse: true, showUnsubscribed: true, * showErrors: true, showMessageIDs: true); */ // Get Status using MessageId And TransactionId & save into database //Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus = // Common.ElasticEmailClient.Api.Email.Status(data.MessageID); //if (EmailStatus != null) //{ Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus = new Common.ElasticEmailClient.ApiTypes.EmailStatus(); EmailStatus.Status = Common.ElasticEmailClient.ApiTypes.LogJobStatus.Sent; EmailStatus.From = ConfigurationManager.AppSettings["defaultEmailFrom"].ToString(); EmailStatus.To = strToAddress; EmailStatus.TransactionID = new Guid(data.TransactionID); EmailStatus.ErrorMessage = data.MessageID; EmailStatus.DateOpened = null; EmailStatus.DateClicked = null; EmailStatus.StatusName = Common.ElasticEmailClient.ApiTypes.LogJobStatus.Sent.ToString(); EmailStatus.StatusChangeDate = DateTime.UtcNow; EmailStatus.ErrorMessage = null; long EmailStatusId = SaveEmailStatus(EmailStatus, data.MessageID, EmailType, strBody); //} retValue = true; Msg = null; sc.Dispose(); sc = null; return(EmailStatusId); } catch (Exception ex) { UpdateEmailStatistics(String.Concat(strToAddress, "-", ex.Message)); //if (JGApplicationInfo.IsSendEmailExceptionOn()) //{ // CommonFunction.SendExceptionEmail(ex); //} } //} return(0); }
public static long SaveEmailStatus(Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus, string MessageId, string EmailType, string EmailBody) { return(UtilityDAL.Instance.SaveEmailStatus(EmailStatus, MessageId, EmailType, EmailBody)); }