public ActionResult Details() { var userId = User.Identity.GetUserId(); ApplicationUser user = db.Users.Where(d => d.Id == userId).First(); Hidden hide = new Hidden(); if (ModelState.IsValid) { string userEmail = user.Email; string linkName = "REPLY"; string text = "\n\n" + userEmail.ToString() + " \n\nwishes to obtain your contact information. Please click on the REPLY link above to accept or deny this request"; string email = hide.Email; string subject = "Request Information"; string link = "<html><body><a href='http://localhost:65515/Reply\'>" + linkName + "</a></body></html>"; link += text; MailGun.SendSimpleMessage(email, subject, link); return(RedirectToAction("Index")); } return(View()); }
private static void SendEmail(string subject, string body) { var fromAddress = new MailAddress("*****@*****.**", Settings.ServerName); var toAddress = new MailAddress("*****@*****.**", "To Name"); MailGun.Blast(subject, body, fromAddress, toAddress, Settings.EmailPassword); }
// public void Timeout(EmailStatusPendingTimeout state) // { // // TODO : Mailgun Events api with Message-Id as filter // var emailStatus = MailGun.CheckStatus(Data.EmailId); // var emailStatusUpdate = new EmailStatusUpdate(Data.OriginalMessage, Data.EmailId) { Status = emailStatus }; // switch (emailStatus) // { // case EmailStatus.Accepted: // RequestUtcTimeout<EmailStatusPendingTimeout>(new TimeSpan(0,0,2,0)); // break; // case EmailStatus.Delivered: // if (Data.DeliveredEmailCount == 0) // { // ReplyToOriginator(emailStatusUpdate); // Bus.SendLocal(emailStatusUpdate); // Bus.Publish(new SmsMessages.Email.Events.EmailSent // { // EmailAddress = Data.OriginalMessage.ToAddress, // BodyHtml = Data.OriginalMessage.BodyHtml, // BodyText = Data.OriginalMessage.BodyText, // Subject = Data.OriginalMessage.Subject, // Id = Data.OriginalMessage.CorrelationId, // SendTimeUtc = Data.StartTime.ToUniversalTime() // // }); // } // if (Data.DeliveredEmailCount > 10) // // TODO: Should notify originator that there is no more checking // MarkAsComplete(); // else // RequestUtcTimeout<EmailStatusPendingTimeout>(new TimeSpan(0, 2, 0, 0)); // Data.DeliveredEmailCount++; // break; // case EmailStatus.Failed: // case EmailStatus.Clicked: // case EmailStatus.Opened: // case EmailStatus.Complained: // case EmailStatus.Unsubscribed: // ReplyToOriginator(emailStatusUpdate); // Bus.SendLocal(emailStatusUpdate); // MarkAsComplete(); // break; // default: // throw new NotImplementedException(); // } // } public void Handle(SendEmail message) { using (var session = RavenDocumentStore.GetStore().OpenSession(RavenDocumentStore.ConfigurationDatabaseName())) { var emailProvider = session.Load <EmailProviderConfiguration>("EmailProviderConfiguration"); if (emailProvider == null) { Data.EmailId = MailGun.SendEmail(message); } else { switch (emailProvider.EmailProvider) { case EmailProvider.Mailgun: Data.EmailId = MailGun.SendEmail(message); break; case EmailProvider.Mandrill: Data.EmailId = MandrillWrapper.SendEmail(message); break; } } // Bus.Reply(new InternalMessages.Responses.EmailSent { EmailId = emailId, EmailSagaId = message.EmailSagaId }); } }
public ActionResult SendFromResidentToBuilding([Bind(Include = "Id,Resident,BuildingName,Unit,Subject,Body")] Messages messages) { if (ModelState.IsValid) { db.Messages.Add(messages); db.SaveChanges(); string residentEmail = null; var residentEmailQuery = from rm in db.Residents where (rm.Location == messages.BuildingName) select rm.EmailAddress; foreach (string result in residentEmailQuery) { residentEmail = result; MailGun managerMessageToResident = new MailGun(); managerMessageToResident.SendFromResidentToBuilding(residentEmail, messages.Subject, messages.Body, messages.BuildingName, messages.Resident, messages.Unit); } return(RedirectToAction("MessageSuccess")); } return(View(messages)); }
public void SendDataInvalidRecipients() { var random = new Random(); byte[] bytes = new byte[23]; random.NextBytes(bytes); MailGun.Send(StringHelper.ValidString(), StringHelper.NullEmptyWhiteSpace(), bytes); }
public JsonResult SendPasswordResetRequest(string FirstName, string LastName, string Email, string CompanyName, string Telephone, string City, string Comments) { string MessageBody = String.Format("Name: {0} {1}<br/>Email: {2}<br/>Company Name: {3}<br/>Telephone: {4}<br/>City: {5}<br/>Comments: {6}", FirstName, LastName, Email, CompanyName, Telephone, City, Comments); MailGun.SendEmailToEmailAddressAsScreeningOne(0, 0, ConfigurationManager.AppSettings["BillingEmail"], "Password Reset Request - " + FirstName + " " + LastName, MessageBody, ConfigurationManager.AppSettings["BillingEmailName"], ConfigurationManager.AppSettings["BillingEmail"], ConfigurationManager.AppSettings["BillingEmailName"]); //ScreeningONESendMail.SendMail("*****@*****.**", "Password Reset Request - " + FirstName + " " + LastName, MessageBody, true); return new JsonResult { Data = new { success = true } }; }
public ActionResult Deny() { string email = hide.Email; string subject = "Request Denied"; string link = "I'm sorry your request was denied"; MailGun.SendSimpleMessage(email, subject, link); return(View()); }
public ActionResult Index(string parentEmail, string message) { string email = hide.Email; string subject = "Tutor Update"; string link = message; MailGun.SendSimpleMessage(email, subject, link); return(View()); }
public async Task <ActionResult> Details(string trackingNumber) { if (ModelState.IsValid) { string guestEmail = hide.RetrieveEmail(); string text2 = trackingNumber; MailGun.SendSimpleMessage(guestEmail, text2); return(RedirectToAction("Index")); } return(View()); }
public ActionResult Create([Bind(Include = "Id,Name,Location,Unit,TypeOfService,Details,Urgency,DateSubmitted,ContractorUsed,FollowUpNeeded,Completed,DateCompleted")] ServiceRequests serviceRequests) { if (ModelState.IsValid) { db.ServiceRequests.Add(serviceRequests); db.SaveChanges(); MailGun managerMessage = new MailGun(); managerMessage.SendServiceRequest("*****@*****.**", serviceRequests.Name, serviceRequests.Location, serviceRequests.Unit, serviceRequests.TypeOfService, serviceRequests.Details, serviceRequests.Urgency, serviceRequests.DateSubmitted); return(RedirectToAction("Success")); } return(View(serviceRequests)); }
public ActionResult Create([Bind(Include = "Id,Name,EmailAddress,Subject,Body")] AvailableUnitInfoRequests availableUnitInfoRequests) { if (ModelState.IsValid) { db.AvailableUnitInfoRequests.Add(availableUnitInfoRequests); db.SaveChanges(); MailGun managerMessage = new MailGun(); managerMessage.SendAvailableUnitRequest(availableUnitInfoRequests.Name, availableUnitInfoRequests.EmailAddress, availableUnitInfoRequests.Subject, availableUnitInfoRequests.Body); return(RedirectToAction("MessageSuccess", "Messages")); } return(View(availableUnitInfoRequests)); }
public ActionResult SendToManager([Bind(Include = "Id,Resident,BuildingName,Unit,Subject,Body")] Messages messages) { if (ModelState.IsValid) { db.Messages.Add(messages); db.SaveChanges(); MailGun managerMessage = new MailGun(); managerMessage.SendToSingleEmail("*****@*****.**", messages.Subject, messages.Body, messages.Resident, messages.Unit, messages.BuildingName); return(RedirectToAction("MessageSuccess")); } return(View(messages)); }
public Guid Send(BinaryEmail email) { Contract.Requires <ArgumentNullException>(null != email); Contract.Requires <ArgumentOutOfRangeException>(!string.IsNullOrWhiteSpace(email.Sender)); Contract.Requires <ArgumentOutOfRangeException>(!string.IsNullOrWhiteSpace(email.Recipient)); Contract.Requires <ArgumentOutOfRangeException>(null != email.RawMessage); MailGun.Send(email.Sender, email.Recipient, email.RawMessage); var table = new AzureTable <BinaryEmailData>(ServerConfiguration.Default); var data = email.Convert(); table.AddEntity(data); return(data.Id); }
public ActionResult Accept() { string email = hide.Email; string subject = "Request Accepted"; //string linkName = "Click me for GOOGLE"; //string tutorEmail = profile.ApplicationUser.Email; //string tutorFirstName = profile.ProfileFirstName; //string tutorLastName = profile.ProfileLastName; //string tutorPhoneNumber = profile.ProfilePhoneNumber; string tutorEmail = "*****@*****.**"; string tutorFirstName = "New"; string tutorLastName = "TutorA"; string tutorPhoneNumber = "123-456-7890"; string link = "I have accepted your request here is my contact information : " + tutorEmail + " " + tutorPhoneNumber + " " + tutorFirstName + " " + tutorLastName; MailGun.SendSimpleMessage(email, subject, link); return(View()); }
public ActionResult Index(string accept, bool deny) { if (ModelState.IsValid) { string acceptButton = "accept"; string denyButton = "deny"; if (acceptButton == "accept") { string email = hide.Email; string subject = "Request Accepted"; //string linkName = "Click me for GOOGLE"; //string tutorEmail = profile.ApplicationUser.Email; //string tutorFirstName = profile.ProfileFirstName; //string tutorLastName = profile.ProfileLastName; //string tutorPhoneNumber = profile.ProfilePhoneNumber; string tutorEmail = "*****@*****.**"; string tutorFirstName = "New"; string tutorLastName = "TutorA"; string tutorPhoneNumber = "123-456-7890"; string link = "I have accepted your request here is my contact information : " + tutorEmail + " " + tutorPhoneNumber + " " + tutorFirstName + " " + tutorLastName; MailGun.SendSimpleMessage(email, subject, link); return(RedirectToAction("Index")); } if (deny) { string email = hide.Email; string subject = "Request Denied"; string linkName = "Sorry you have been denied by the tutor."; string link = "<html><body><a href='http://localhost:65515/List\'>" + linkName + "</a></body></html>"; MailGun.SendSimpleMessage(email, subject, link); return(RedirectToAction("Index")); } } return(View()); }
/// <summary> /// This is where we should do the actual email send to the user. /// </summary> /// <param name="to">To Email Address</param> /// <param name="from">From Email Address</param> /// <param name="subject">Title</param> /// <param name="body">Body</param> private void Send(string to, string from, string fromName, string subject, string body) { if (string.IsNullOrWhiteSpace(from)) { throw new ArgumentException("from"); } if (!string.IsNullOrWhiteSpace(to)) { var sent = false; try { var email = new MailGun(); var response = email.Send(from, fromName, to, subject, body); sent = true; //sent = response.StatusCode == System.Net.HttpStatusCode.OK; } catch { } this.Archive(from, fromName, to, subject, body, sent); } }
public void SendTextInvalidRecipients() { MailGun.Send(StringHelper.ValidString(), StringHelper.NullEmptyWhiteSpace(), string.Empty, string.Empty); }
public void SendData() { MailGun.Send("*****@*****.**", "*****@*****.**", Guid.NewGuid().ToByteArray()); }
public void SendDataEmptyMime() { byte[] bytes = new byte[0]; MailGun.Send(StringHelper.ValidString(), StringHelper.NullEmptyWhiteSpace(), bytes); }
public void SendText() { MailGun.Send("*****@*****.**", "*****@*****.**", "This is a test email message", string.Format("this is a test message{0}; which is suppose to have text in it.", StringHelper.ValidString())); }
public JsonResult BillingMessage(int CntMsgClientID, string CntMsgClientName, int CntMsgClientContactID, string CntMsgMessageSubject, string CntMsgMessageFromName, string CntMsgMessageBody, string CntMsgMessageToName, string CntMsgMessageFromEmail, string CntMsgMessageToEmail, string CntMsgMessageCategory, string CntMsgMessageFromPhone) { BillingMessage_Details viewBillingMessageDetails = new BillingMessage_Details(); viewBillingMessageDetails.CntMsgClientID = CntMsgClientID; viewBillingMessageDetails.CntMsgClientName = CntMsgClientName; viewBillingMessageDetails.CntMsgClientContactID = CntMsgClientContactID; viewBillingMessageDetails.CntMsgMessageSubject = CntMsgMessageSubject; viewBillingMessageDetails.CntMsgMessageFromName = CntMsgMessageFromName; viewBillingMessageDetails.CntMsgMessageBody = CntMsgMessageBody; viewBillingMessageDetails.CntMsgMessageToName = CntMsgMessageToName; viewBillingMessageDetails.CntMsgMessageFromEmail = CntMsgMessageFromEmail; viewBillingMessageDetails.CntMsgMessageToEmail = CntMsgMessageToEmail; viewBillingMessageDetails.CntMsgMessageCategory = CntMsgMessageCategory; viewBillingMessageDetails.CntMsgMessageFromPhone = CntMsgMessageFromPhone; ClientContact userresult = ClientContacts.GetClientContactFromClientContactID(CntMsgClientContactID); Dictionary <string, string> messagevalues = new Dictionary <string, string>(); messagevalues.Add("[[COMPANYNAME]]", CntMsgClientName); messagevalues.Add("[[USERNAME]]", CntMsgMessageFromName); messagevalues.Add("[[USEREMAIL]]", CntMsgMessageFromEmail); messagevalues.Add("[[MESSAGECATEGORY]]", CntMsgMessageCategory); messagevalues.Add("[[USERPHONE]]", CntMsgMessageFromPhone); messagevalues.Add("[[MESSAGEBODY]]", CntMsgMessageBody); messagevalues.Add("[[CORPORATENAME]]", System.Configuration.ConfigurationManager.AppSettings["CompanyName"]); string subject = "Billing Client Request: " + CntMsgMessageSubject; MailGun.SendEmailToEmailAddressFromTemplate(4, 0, "Client Request", 0, ConfigurationManager.AppSettings["supportemail"], subject, "Tech Support", messagevalues); return(new JsonResult { Data = new { success = true } }); /*var messageRecord = Messages.GetMessageTemplateRecord(0, "Client Request", messagevalues); * * string messagebody = messageRecord != null ? messageRecord.MessageText : null; * * if (messagebody != null) * { * int messageActionType = messageRecord.MessageActionTypeID.GetValueOrDefault(); * int? MessageIDOutput = new int?(); * Guid? MessageActionGuidOutput = new Guid?(); * subject = "Billing Client Request: " + CntMsgMessageSubject; * Messages.CreateMessageWithAction(messageActionType, subject, messagebody, 2, 1, 0, 3, "", System.DateTime.Now, null, "HTML", ref MessageIDOutput, ref MessageActionGuidOutput); * Messages.UpdateMessageAndMarkForSending(MessageIDOutput.Value, subject, messagebody); * return new JsonResult { Data = new { success = true } }; * } * else * { * ModelState.AddModelError("ErrorMessages", "The message body was empty and could not be delivered. Please enter some information in the Message body and try again."); * return new JsonResult * { * Data = new * { * success = false, * view = RenderToString.RenderViewToString(this, "BillingMessage", viewBillingMessageDetails) * } * }; * }*/ }
public void SendDataNullMime() { MailGun.Send(StringHelper.ValidString(), StringHelper.ValidString(), null); }
public void SendTextNullText() { MailGun.Send(StringHelper.ValidString(), StringHelper.ValidString(), string.Empty, null); }
public void SendTextNullSubject() { MailGun.Send(StringHelper.ValidString(), StringHelper.ValidString(), null, string.Empty); }
public JsonResult ResetUserPasswordJSON(string OldUserName, int UserID, string UserNameEmail, bool Inactive) { //Check to see if the old and new names are the same if (OldUserName != UserNameEmail) { return(new JsonResult { Data = new { success = false, error = "You must first save the changed username before sending email." } }); } if (Inactive) { return(new JsonResult { Data = new { success = false, error = "Please activate the user and save the change before attempting to reset the password." } }); } Regex emailregex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,7}$"); Match m = emailregex.Match(UserNameEmail); if (m.Success == false) { return(new JsonResult { Data = new { success = false, error = "Invalid Email Format." } }); } if (ViewData.ModelState.IsValid) { var db3 = new UsersDataContext(); var result3 = db3.S1_Users_GetClientContactForEmail(UserID).SingleOrDefault(); string ReturnURL = "/Security/ChangePassword"; string contactpassword = result3.ContactLastName.Substring(0, 3) + result3.ContactZipCode.Substring(0, 3) + result3.ContactState; MembershipUser mu = Provider.GetUser(result3.UserName, false); Provider.ChangePasswordQuestionAndAnswer(result3.UserName, contactpassword, "What is your Company's zipcode?", result3.ContactZipCode); Provider.UpdateUser(mu); string oldpassword = mu.ResetPassword(); Provider.ChangePassword(result3.UserName, oldpassword, contactpassword); Provider.UpdateUser(mu); string subject = ConfigurationManager.AppSettings["CompanyName"] + " Billing: Account for " + result3.ContactFirstName + " " + result3.ContactLastName + " - " + result3.ClientName; var db1 = new UsersDataContext(); //The following line is creating a message with a null status on purpose. Due to the actionGUID being used in the emails following. Note also this is S1_Users instead of S1_Messages var results1 = db1.S1_Users_CreateMessageWithAction(1, subject, result3.UserID, 1, 0, 3, HttpUtility.UrlDecode(ReturnURL), System.DateTime.Now, null).SingleOrDefault(); if (results1.ActionGUID != null) { Dictionary <string, string> messagevalues = new Dictionary <string, string>(); messagevalues.Add("[[USER_EMAIL]]", result3.Email); messagevalues.Add("[[USERNAME]]", result3.UserName); messagevalues.Add("[[COMPANYNAME]]", result3.ClientName); messagevalues.Add("[[PASSWORD]]", contactpassword); messagevalues.Add("[[GUIDURL]]", System.Configuration.ConfigurationManager.AppSettings["DefaultPath"] + "/Account/ConfirmEmail/" + results1.ActionGUID.ToString() + "?portal=client"); messagevalues.Add("[[CORPORATENAME]]", System.Configuration.ConfigurationManager.AppSettings["CompanyName"]); MailGun.SendEmailToUserFromTemplate(10, 0, "Create Client Account", 0, result3.UserID, 0, subject, messagevalues); subject = ConfigurationManager.AppSettings["CompanyName"] + " Billing: " + result3.ContactFirstName + " " + result3.ContactLastName + " - " + result3.ClientName; MailGun.SendEmailToUserFromTemplate(11, 0, "Create Client Password", 0, result3.UserID, 0, subject, messagevalues); return(new JsonResult { Data = new { success = true, error = "Password has been resent and emailed to the user." } }); /* var messageRecord = Messages.GetMessageTemplateRecord(0, "Create Client Account", messagevalues); * * string messagebody = messageRecord != null ? messageRecord.MessageText : null; * * if (messagebody != null) * { * int messageActionType = messageRecord.MessageActionTypeID.GetValueOrDefault(); * int? MessageIDOutput = new int?(); * Guid? MessageActionGuidOutput = new Guid?(); * * //Send email with UserName * Messages.CreateMessageWithAction(messageActionType, subject, messagebody, result3.UserID, 1, 0, 3, HttpUtility.UrlDecode(ReturnURL), System.DateTime.Now, null, "HTML", ref MessageIDOutput, ref MessageActionGuidOutput); * Messages.UpdateMessageAndMarkForSending(MessageIDOutput.Value, subject, messagebody); * * subject = ConfigurationManager.AppSettings["CompanyName"] + " Billing: " + result3.ContactFirstName + " " + result3.ContactLastName + " - " + result3.ClientName; * * messageRecord = Messages.GetMessageTemplateRecord(0, "Create Client Password", messagevalues); * * messagebody = messageRecord != null ? messageRecord.MessageText : null; * * if (messagebody != null) * { * messageActionType = messageRecord.MessageActionTypeID.GetValueOrDefault(); * MessageIDOutput = new int?(); * MessageActionGuidOutput = new Guid?(); * * //Send email with Password * Messages.CreateMessageWithAction(messageActionType, subject, messagebody, result3.UserID, 1, 0, 3, HttpUtility.UrlDecode(ReturnURL), System.DateTime.Now, null, "HTML", ref MessageIDOutput, ref MessageActionGuidOutput); * Messages.UpdateMessageAndMarkForSending(MessageIDOutput.Value, subject, messagebody); * } * * return new JsonResult { Data = new { success = true, error = "Password has been resent and emailed to the user." } }; * * } * else * { * return new JsonResult { Data = new { success = false, error = "Unable to reset the password at this time. Please retry." } }; * * }*/ } else { return(new JsonResult { Data = new { success = false, error = "Unable to reset the password at this time. Please retry." } }); } } return(new JsonResult { Data = new { success = false, error = "Unable to reset the password at this time. Please retry." } }); }
public JsonResult CreateClientUserPost(Security_Users viewSecuritySetup, FormCollection fc) { int newuserclientid = Convert.ToInt32(fc["primarycompany"]); string newuserrole = fc["usertypelist"]; // Basic parameter validation if (String.IsNullOrEmpty(viewSecuritySetup.firstname)) { ViewData.ModelState.AddModelError("firstname", " "); ViewData.ModelState.AddModelError("*", "Please enter a firstname."); } if (String.IsNullOrEmpty(viewSecuritySetup.lastname)) { ViewData.ModelState.AddModelError("lastname", " "); ViewData.ModelState.AddModelError("*", "Please enter a lastname."); } if (String.IsNullOrEmpty(viewSecuritySetup.username)) { ViewData.ModelState.AddModelError("username", " "); ViewData.ModelState.AddModelError("*", "Please enter a username."); } if (String.IsNullOrEmpty(viewSecuritySetup.email)) { ViewData.ModelState.AddModelError("email", " "); ViewData.ModelState.AddModelError("*", "Please enter an email address."); } else { Regex emailregex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,7}$"); Match m = emailregex.Match(viewSecuritySetup.email); if (m.Success == false) { ViewData.ModelState.AddModelError("email", " "); ViewData.ModelState.AddModelError("*", "Invalid email format."); } } if (viewSecuritySetup.password == null || viewSecuritySetup.password.Length < Provider.MinRequiredPasswordLength) { ViewData.ModelState.AddModelError("password", " "); ViewData.ModelState.AddModelError("*", String.Format(CultureInfo.InvariantCulture, "A password of {0} or more characters is required.", Provider.MinRequiredPasswordLength)); } if (!String.Equals(viewSecuritySetup.password, viewSecuritySetup.confirmPassword, StringComparison.Ordinal)) { ViewData.ModelState.AddModelError("confirmPassword", " "); ViewData.ModelState.AddModelError("*", "The password and confirmation do not match."); } if (ViewData.ModelState.IsValid) { string subject = ConfigurationManager.AppSettings["CompanyName"] + " Billing: New Account"; string clientname = null; string clientaddr1 = null; string clientaddr2 = null; string clientcity = null; string clientstate = null; string clientzipcode = null; // Attempt to register the user MembershipCreateStatus createStatus; MembershipUser newUser = Provider.CreateUser(viewSecuritySetup.username, viewSecuritySetup.password, viewSecuritySetup.email, "client", "client", true, null, out createStatus); if (newUser != null) { var db = new UsersDataContext(); var result = db.S1_Users_CreateUser(viewSecuritySetup.username, newuserclientid, 1, viewSecuritySetup.firstname, viewSecuritySetup.lastname).SingleOrDefault(); if (result.UserID > 0) { Roles.AddUserToRole(viewSecuritySetup.username, newuserrole); if (String.IsNullOrEmpty(HttpUtility.UrlDecode(viewSecuritySetup.ReturnUrl))) { viewSecuritySetup.ReturnUrl = "/Account/Logon?portal=admin"; } var db1 = new UsersDataContext(); //The following line is creating a message with a null status on purpose. Due to the actionGUID being used in the emails following. Note also this is S1_Users instead of S1_Messages var results1 = db.S1_Users_CreateMessageWithAction(1, subject, result.UserID, 1, 0, 3, HttpUtility.UrlDecode(viewSecuritySetup.ReturnUrl), System.DateTime.Now, null).SingleOrDefault(); if (results1.ActionGUID != null) { string ReturnURL = "/Account/ConfirmEmail"; var db3 = new ClientsDataContext(); var result3 = db3.S1_Clients_GetClientsFromUser(result.UserID).SingleOrDefault(); if (result3 == null) { //todo; } else { clientname = result3.ClientName; clientaddr1 = result3.Address1; clientaddr2 = result3.Address2; clientcity = result3.City; clientstate = result3.State; clientzipcode = result3.ZipCode; } Provider.ChangePasswordQuestionAndAnswer(viewSecuritySetup.username, viewSecuritySetup.password, "What is your Company's zipcode?", clientzipcode); Dictionary <string, string> messagevalues = new Dictionary <string, string>(); messagevalues.Add("[[USER_FIRSTNAME]]", ""); messagevalues.Add("[[USER_MI]]", ""); messagevalues.Add("[[USER_LASTNAME]]", ""); messagevalues.Add("[[USER_TITLE]]", ""); messagevalues.Add("[[COMPANY_ADDRESS_LINE1]]", clientaddr1); messagevalues.Add("[[COMPANY_ADDRESS_LINE2]]", clientaddr2); messagevalues.Add("[[COMPANY_ADDRESS_CITY]]", clientcity); messagevalues.Add("[[COMPANY_ADDRESS_STATE]]", clientstate); messagevalues.Add("[[COMPANY_ADDRESS_ZIPCODE]]", clientzipcode); messagevalues.Add("[[USER_EMAIL]]", viewSecuritySetup.email); messagevalues.Add("[[USER_PHONE]]", ""); messagevalues.Add("[[USERNAME]]", viewSecuritySetup.username); messagevalues.Add("[[COMPANYNAME]]", clientname); messagevalues.Add("[[GUIDURL]]", System.Configuration.ConfigurationManager.AppSettings["DefaultPath"] + ReturnURL + "/" + results1.ActionGUID.ToString() + "?portal=client"); messagevalues.Add("[[CORPORATENAME]]", System.Configuration.ConfigurationManager.AppSettings["CompanyName"]); MailGun.SendEmailToUserFromTemplate(10, 0, "Create Client Account", 0, result.UserID.Value, 0, subject, messagevalues); return(new JsonResult { Data = new { success = true } }); /*var messageRecord = Messages.GetMessageTemplateRecord(0, "Create Client Account", messagevalues); * * string messagebody = messageRecord != null ? messageRecord.MessageText : null; * * if (messagebody != null) * { * int messageActionType = messageRecord.MessageActionTypeID.GetValueOrDefault(); * int? MessageIDOutput = new int?(); * Guid? MessageActionGuidOutput = new Guid?(); * * Messages.CreateMessageWithAction(messageActionType, subject, messagebody, result.UserID, 1, 0, 3, HttpUtility.UrlDecode(ReturnURL), System.DateTime.Now, null, "HTML", ref MessageIDOutput, ref MessageActionGuidOutput); * Messages.UpdateMessageAndMarkForSending(MessageIDOutput.Value, subject, messagebody); * * return new JsonResult { Data = new { success = true } }; * } * else * { * ModelState.AddModelError("*", "There was a problem sending the confirmation email. Please re-create a new account. We apologize for the inconvenience."); * HandleCreateClientUserErrors(viewSecuritySetup, fc); * return new JsonResult * { * Data = new * { * success = false, * view = RenderToString.RenderViewToString(this, "CreateClientUser", viewSecuritySetup) * } * }; * }*/ } ModelState.AddModelError("*", "There was a problem sending the confirmation email. Please re-create a new account. We apologize for the inconvenience."); HandleCreateClientUserErrors(viewSecuritySetup, fc); return(new JsonResult { Data = new { success = false, view = RenderToString.RenderViewToString(this, "CreateClientUser", viewSecuritySetup) } }); } else { ModelState.AddModelError("*", ErrorHandler.ErrorCodeToString(createStatus)); HandleCreateClientUserErrors(viewSecuritySetup, fc); return(new JsonResult { Data = new { success = false, view = RenderToString.RenderViewToString(this, "CreateClientUser", viewSecuritySetup) } }); } } else { ViewData.ModelState.AddModelError("*", ErrorHandler.ErrorCodeToString(createStatus)); HandleCreateClientUserErrors(viewSecuritySetup, fc); return(new JsonResult { Data = new { success = false, view = RenderToString.RenderViewToString(this, "CreateClientUser", viewSecuritySetup) } }); } } return(new JsonResult { Data = new { success = false, view = RenderToString.RenderViewToString(this, "CreateClientUser", viewSecuritySetup) } }); //return new JsonResult { Data = new { success = true } }; }
public ActionResult ChangePass(string id, string newPassword, string confirmPassword) { Account_ChangePass viewChangePass = new Account_ChangePass(); viewChangePass.ShowFieldSet = true; if (String.IsNullOrEmpty(id)) { ViewData.ModelState.AddModelError("*", "There was an error processing this request. Please refresh your browser and try again. If the problem persists, please go to the Forgot Password page and request another password reset."); viewChangePass.ShowFieldSet = false; } if (newPassword == null || newPassword.Length < Provider.MinRequiredPasswordLength) { ViewData.ModelState.AddModelError("newPassword", String.Format(CultureInfo.InvariantCulture, "You must specify a new password of {0} or more characters.", Provider.MinRequiredPasswordLength)); } if (!String.Equals(newPassword, confirmPassword, StringComparison.Ordinal)) { ViewData.ModelState.AddModelError("newPassword", "The new password and confirmation password do not match."); } if (ViewData.ModelState.IsValid) { var db = new UsersDataContext(); var result = db.S1_Users_ForgotPassword_GetUserName(id).SingleOrDefault(); if (result != null) { // Attempt to change password MembershipUser currentUser = Provider.GetUser(result.ForgotPasswordUserName, false); bool changeSuccessful = false; try { changeSuccessful = currentUser.ChangePassword(currentUser.ResetPassword(result.ForgotPasswordAnswer), newPassword); } catch { // An exception is thrown if the new password does not meet the provider's requirements } if (changeSuccessful) { var db1 = new UsersDataContext(); var result1 = db1.S1_Users_ForgotPassword_RemoveGUID(id); if (result1 != 0) { //log the error and notify admins } string em = currentUser.Email; string subject = ConfigurationManager.AppSettings["CompanyName"] + " Billing: Change Password Request"; int sUserID = 0; string clientname = null; string clientstate = null; string clientzipcode = null; var db2 = new UsersDataContext(); var q2 = from o in db.Users where o.aspnet_User.UserName == result.ForgotPasswordUserName select new { sUID = o.UserID }; if (q2.Count() > 0) { sUserID = q2.SingleOrDefault().sUID; var db3 = new UsersDataContext(); var result3 = db3.S1_Users_GetClientContactForEmail(sUserID).SingleOrDefault(); if (result3 == null) { //todo; } else { clientname = result3.ClientName; clientstate = result3.ContactState; clientzipcode = result3.ContactZipCode; } } Dictionary<string, string> messagevalues = new Dictionary<string, string>(); messagevalues.Add("[[COMPANYNAME]]", clientname); messagevalues.Add("[[USERNAME]]", result.ForgotPasswordUserName); messagevalues.Add("[[CORPORATENAME]]", System.Configuration.ConfigurationManager.AppSettings["CompanyName"]); MailGun.SendEmailToUserFromTemplate(12, 0, "Change Password", 0, sUserID, 0, subject, messagevalues); viewChangePass.sUserName = result.ForgotPasswordUserName; return RedirectToAction("ChangePasswordSuccess", "Account", new { portal = ViewData["portal"], ClientID = ViewData["ClientID"] }); /* var messageRecord = Messages.GetMessageTemplateRecord(0, "Change Password", messagevalues); string messagebody = messageRecord != null ? messageRecord.MessageText : null; if (messagebody != null) { int messageActionType = messageRecord.MessageActionTypeID.GetValueOrDefault(); int? MessageIDOutput = new int?(); Guid? MessageActionGuidOutput = new Guid?(); Messages.CreateMessageWithAction(messageActionType, subject, messagebody, sUserID, 1, 0, 3, "", System.DateTime.Now, null, "HTML", ref MessageIDOutput, ref MessageActionGuidOutput); Messages.UpdateMessageAndMarkForSending(MessageIDOutput.Value, subject, messagebody); viewChangePass.sUserName = result.ForgotPasswordUserName; return RedirectToAction("ChangePasswordSuccess", "Account", new { portal = ViewData["portal"], ClientID = ViewData["ClientID"] }); } else { //todoo: future error logging }*/ } } else { ViewData.ModelState.AddModelError("*", "There was an error while trying to reset your password. Please refresh your browser and try again."); } } // If we got this far, something failed, redisplay form ViewData["Title"] = "Change Password"; return View("ConfirmedChangePass", "~/Views/Shared/Site.Master", viewChangePass); }