public async Task SendWelcomeEmailAsync(RegisterEmail request) { string FilePath = Directory.GetCurrentDirectory() + "/Smtp/Templates/RegisterTemplate.html"; StreamReader str = new StreamReader(FilePath); string MailText = str.ReadToEnd(); str.Close(); MailText = MailText .Replace("[username]", request.UserName) .Replace("[email]", request.ToEmail) .Replace("[urlKey]", _config.GetSection("HostSettings:WebSiteUrl").Value); var email = new MimeMessage(); email.Sender = MailboxAddress.Parse(_mailSettings.Mail); email.To.Add(MailboxAddress.Parse(request.ToEmail)); email.Subject = $"Welcome {request.FirstName}"; var builder = new BodyBuilder(); builder.HtmlBody = MailText; email.Body = builder.ToMessageBody(); using var smtp = new SmtpClient(); smtp.CheckCertificateRevocation = false; smtp.Connect(_mailSettings.Host, _mailSettings.Port, SecureSocketOptions.Auto); // smtp.Connect(_mailSettings.Host, _mailSettings.Port, SecureSocketOptions.StartTls); smtp.Authenticate(_mailSettings.Mail, _mailSettings.Password); await smtp.SendAsync(email); smtp.Disconnect(true); }
public ActionResult SendRegisterEmail(RegisterEmail registerEmail) { if (ModelState.IsValid) { string emailSubject = WebConfigurationManager.AppSettings["RegisterEmailToSendSubject"]; string emailTo = WebConfigurationManager.AppSettings["RegisterEmailToSendTo"]; MailMessage mailMessage = new MailMessage(); mailMessage.From = new MailAddress(registerEmail.EmailAddress); mailMessage.Subject = emailSubject; mailMessage.To.Add(emailTo); mailMessage.Body = EmailMessage(registerEmail); mailMessage.IsBodyHtml = true; if(registerEmail.Attachment != null) { mailMessage.Attachments.Add(new Attachment(registerEmail.Attachment.InputStream, registerEmail.Attachment.FileName)); } SmtpClient smtpClient = new SmtpClient(); smtpClient.Send(mailMessage); return View("RegisterEmailThankYou", registerEmail); } return View("Register"); }
public ActionResult DeleteConfirmed(int id) { RegisterEmail registerEmail = db.RegisterEmails.Find(id); db.RegisterEmails.Remove(registerEmail); db.SaveChanges(); return(RedirectToAction("Index")); }
private void RegisterBtn_Click(object sender, RoutedEventArgs e) { if (RegisterFirstName.Text.Length == 0) { RegisterFirstNameErrorMessage.Text = "Enter a first name."; RegisterFirstName.Focus(); } else if (RegisterLastName.Text.Length == 0) { RegisterLastNameError.Text = "Enter a last name."; RegisterLastName.Focus(); } else if (RegisterEmail.Text.Length == 0) { RegisterEmailErrorMessage.Text = "Enter an email address."; RegisterEmail.Focus(); } else if (!Regex.IsMatch(RegisterEmail.Text, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$")) { RegisterEmailErrorMessage.Text = "Enter a valid email address."; RegisterEmail.Select(0, RegisterEmail.Text.Length); RegisterEmail.Focus(); } else if (RegisterPwBoxPassword.Password.Length == 0) { RegisterPwErrorMessage.Text = "Enter a email address"; RegisterPwBoxPassword.Focus(); } else { RegisterLastNameError.Text = ""; RegisterFirstNameErrorMessage.Text = ""; RegisterPwErrorMessage.Text = ""; RegisterEmailErrorMessage.Text = ""; var first_Name = RegisterFirstName.Text; var last_Name = RegisterLastName.Text; var job_Title = ""; var email = RegisterEmail.Text; var password = RegisterPwBoxPassword.Password; var isAdmin = false; MongoClient client = new MongoClient("mongodb://*****:*****@ds217560.mlab.com:17560/c-proef_syntra"); Employee employee = new Employee(first_Name, last_Name, job_Title, email, password, isAdmin); var db = client.GetDatabase("c-proef_syntra"); var collection = db.GetCollection <Employee>("employees"); collection.InsertOneAsync(employee); LoginWindow login = new LoginWindow(); login.Show(); Close(); } }
public ActionResult Edit([Bind(Include = "Id,Email")] RegisterEmail registerEmail) { if (ModelState.IsValid) { db.Entry(registerEmail).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(registerEmail)); }
public void SendRegisterEmail(User user) { var email = new RegisterEmail() { Email = user.Email, FirstName = user.FirstName }; //email.Send(); Send(email); }
public Register() { InitializeComponent(); RegisterViewModel = App.Current.Services.GetService <RegisterViewModel>(); DataContext = RegisterViewModel; ResourceLoader = ResourceLoader.GetForCurrentView(); RegisterEmail.AddHandler(TappedEvent, new TappedEventHandler(ResetErrors), true); RegisterPassword.AddHandler(TappedEvent, new TappedEventHandler(ResetErrors), true); RegisterFirstname.AddHandler(TappedEvent, new TappedEventHandler(ResetErrors), true); RegisterLastname.AddHandler(TappedEvent, new TappedEventHandler(ResetErrors), true); }
public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto) { try { userForRegisterDto.Username = userForRegisterDto.Username.ToLower(); var userFound = await _repo.UserExists(userForRegisterDto); if (userFound != null) { return(BadRequest("already_exists")); } var createdUser = await _repo.Register(userForRegisterDto); var userToReturn = _mapper.Map <UserForDetailedDto>(createdUser); var rolsAssigned = await _repo.AssignRol(createdUser.Id, userForRegisterDto.Rol); var rolsAssignedToList = _mapper.Map <List <RolsToListDto> >(rolsAssigned); var tokenDescriptor = _repo.CreateToken(createdUser, rolsAssigned); var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); try { RegisterEmail request = new RegisterEmail(); request.ToEmail = userToReturn.Email; request.UserName = userToReturn.Username; request.FirstName = userToReturn.FirstName; await _mailService.SendWelcomeEmailAsync(request); } catch (Exception ex) { _logger.LogError(ex.Message); return(CreatedAtRoute("GetUser", new { controller = "Users", id = createdUser.Id, token = tokenHandler.WriteToken(token) }, new { userToReturn, token = tokenHandler.WriteToken(token), rolsAssignedToList, message = "email_failed" })); } return(CreatedAtRoute("GetUser", new { controller = "Users", id = createdUser.Id, token = tokenHandler.WriteToken(token) }, new { userToReturn, token = tokenHandler.WriteToken(token), rolsAssignedToList })); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest("registration_failed")); } }
// GET: RegisterEmails/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RegisterEmail registerEmail = db.RegisterEmails.Find(id); if (registerEmail == null) { return(HttpNotFound()); } return(View(registerEmail)); }
private void ResetErrors(object sender, TappedRoutedEventArgs e) { RegisterEmail.Header = ResourceLoader.GetString("RegisterEmail/Header"); RegisterEmail.ClearValue(BorderBrushProperty); RegisterPassword.Header = ResourceLoader.GetString("RegisterPassword/Header"); RegisterPassword.ClearValue(BorderBrushProperty); RegisterFirstname.Header = ResourceLoader.GetString("RegisterFirstname/Header"); RegisterFirstname.ClearValue(BorderBrushProperty); RegisterLastname.Header = ResourceLoader.GetString("RegisterLastname/Header"); RegisterLastname.ClearValue(BorderBrushProperty); }
private async Task <string> SendEmailConfirmationTokenAsync(string userID, string subject) { string code = await UserManager.GenerateEmailConfirmationTokenAsync(userID); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = userID, code = code }, protocol: Request.Url.Scheme); var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Views/EmailTemplates", "RegisterEmail.cshtml"); var template = System.IO.File.ReadAllText(templatePath); var emailModel = new RegisterEmail(callbackUrl); var guid = Guid.NewGuid().ToString(); string emailHtmlBody = Engine.Razor.RunCompile(template, guid, null, emailModel); await UserManager.SendEmailAsync(userID, subject, emailHtmlBody); return(callbackUrl); }
public ActionResult Register([Bind(Include = "Id,Email")] RegisterEmail registerEmail) { if (ModelState.IsValid) { db.RegisterEmails.Add(registerEmail); try { db.SaveChanges(); } catch { AddErrors("Email is already registered"); return(View(registerEmail)); } return(RedirectToAction("Index")); } return(View(registerEmail)); }
/// <summary> /// Register with MDi by email /// </summary> /// <param name="email"></param> /// <returns></returns> public async Task <string> RequestRegisterEmailAsync(string email) { string result = string.Empty; try { RegisterEmail BE = new RegisterEmail() { Email = email }; var json = JsonConvert.SerializeObject(BE); var content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = null; response = await client.PostAsync(Constants.BaseUrl + Constants.urlRegsterEmail, content); if (response.IsSuccessStatusCode) { var _result = await response.Content.ReadAsStringAsync(); var devicetoken = JsonConvert.DeserializeObject <string>(_result); return(devicetoken); } else { if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { result = Constants.S_Exists; } else { result = Constants.S_NotSuccess; } } } catch (Exception) { throw; } return(result); }
public async Task <ActionResult> ForgotPassword(ForgotPasswordViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByNameAsync(model.Email); //if (user == null || !(await UserManager.IsEmailConfirmedAsync(user.Id))) if (user == null) { //ModelState.AddModelError("Email", "No account with this email exists on ZenZoy!"); // Don't reveal that the user does not exist or is not confirmed return(View("ForgotPasswordConfirmation")); } // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); //await UserManager.SendEmailAsync(user.Id, , "Please reset your password by clicking <a href=\"" + callbackUrl + "\">here</a>"); var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Views/EmailTemplates", "ResetPassword.cshtml"); var template = System.IO.File.ReadAllText(templatePath); var emailModel = new RegisterEmail(callbackUrl); var guid = Guid.NewGuid().ToString(); string emailHtmlBody = Engine.Razor.RunCompile(template, guid, null, emailModel); await UserManager.SendEmailAsync(user.Id, "Reset Password", emailHtmlBody); return(RedirectToAction("ForgotPasswordConfirmation", "Account")); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <IHttpActionResult> Post([FromBody] Customer md) { md.customer_id = GetNewId(CodeTable.Customer); md.i_InsertDateTime = DateTime.Now; md.i_UpdateDateTime = DateTime.Now; md.i_Lang = "zh-TW"; md.c_pw = HttpUtility.UrlEncode(EncryptString.desEncryptBase64(md.mobile));//預設密碼改為手機 var r = new ResultInfo <Customer>(); if (!ModelState.IsValid) { r.message = ModelStateErrorPack(); r.result = false; return(Ok(r)); } try { #region working db0 = getDB0(); bool check_email = db0.Customer.Any(x => x.email == md.email); if (check_email) { r.result = false; r.message = Resources.Res.Log_Err_EmailExist; return(Ok(r)); } db0.Customer.Add(md); await db0.SaveChangesAsync(); RegisterEmail emd = new RegisterEmail() { mail = md.email, name = md.c_name }; ResultInfo sendmail = (new EmailController()).sendRegisterMail(emd); r.result = true; r.id = md.customer_id; return(Ok(r)); #endregion } catch (DbEntityValidationException ex) //欄位驗證錯誤 { r.message = getDbEntityValidationException(ex); r.result = false; return(Ok(r)); } catch (Exception ex) { r.result = false; r.message = ex.Message + "\r\n" + getErrorMessage(ex); return(Ok(r)); } finally { db0.Dispose(); } }
private string EmailMessage(RegisterEmail registerEmail) { StringBuilder sbMailMessage = new StringBuilder(); sbMailMessage.AppendLine("<h2>EMI Europe Registration Form</h2>"); sbMailMessage.AppendLine("Dear Sir|Madam,<br><br> " + registerEmail.Title + " " + registerEmail.FirstName + " " + registerEmail.LastName + " has an enquiry.<br><br>"); sbMailMessage.AppendLine("<b>Company</b> : "+ registerEmail.Company +".<br>"); sbMailMessage.AppendLine("<b>Address</b> : "+ registerEmail.Address1 +".<br>"); sbMailMessage.AppendLine("<b>Address</b> : "+ registerEmail.Address2 +".<br>"); sbMailMessage.AppendLine("<b>City</b> : "+ registerEmail.TownCity +".<br>"); sbMailMessage.AppendLine("<b>County</b> : " + registerEmail.County +".<br>"); sbMailMessage.AppendLine("<b>State</b> : "+ registerEmail.State +".<br>"); sbMailMessage.AppendLine("<b>Post Code</b> : "+ registerEmail.PostCode +".<br>"); sbMailMessage.AppendLine("<b>Country</b> : " + registerEmail.Country +".<br>"); sbMailMessage.AppendLine("<b>Telephone Number</b> : "+ registerEmail.Telephone +".<br>"); sbMailMessage.AppendLine("<b>Mobile Number</b> : "+ registerEmail.Mobile +".<br>"); sbMailMessage.AppendLine("<b>Email Address</b> : " + registerEmail.EmailAddress +".<br>"); sbMailMessage.AppendLine("<b>Desired Location</b> : " + registerEmail.DesiredLocation +".<br>"); sbMailMessage.AppendLine("<b>Desired Position</b> : " + registerEmail.DesiredPosition + ".<br>"); sbMailMessage.AppendLine("<b>Profession</b> : " + registerEmail.Profession + ".<br>"); sbMailMessage.AppendLine("<b>Enquiry</b>: "+ registerEmail.Comments +".<br><br>"+ registerEmail.FirstName +" "+ registerEmail.LastName +"</p>"); return sbMailMessage.ToString(); }