public async Task ForgotPasswordAsync(ForgotPasswordModel model) { if (string.IsNullOrWhiteSpace(model.Email)) { throw new ServerException(Constants.Errors.EMAIL_IS_REQUIRED); } var user = await _userService.FindByEmailAsync(model.Email); if (user is null) { throw new ServerException(Constants.Errors.USER_NOT_FOUND); } string passwordReset = _generatePassword.GeneratePassword(); await _userManager.RemovePasswordAsync(user); await _userManager.AddPasswordAsync(user, passwordReset); await _userManager.UpdateAsync(user); await _emailProvider.SendEmailAsync(model.Email, Constants.Success.NEW_PASSWORD, $"{Constants.Success.NEW_PASSWORD}: {passwordReset}"); }
public async Task <IHttpActionResult> PostSendEmails([FromBody] List <Guid> guidlist, [FromUri] int template) { List <Contact> ContactsToSend = await appManager.GetContactsByGuIdListAsync(guidlist); if (ContactsToSend.Count == 0) { return(NotFound()); } await emailProvider.SendEmailAsync(ContactsToSend, template); return(Ok()); }
public async Task test_email_sends() { var smtpSettings = new EmailSettings(); var emailProvider = new EmailProvider(smtpSettings); var assembly = typeof(ImageServiceTests).GetTypeInfo().Assembly; var bytes = ImageServiceTests.ReadFully(assembly.GetManifestResourceStream("Arragro.Providers.ImageServiceProvider.IntegrationTests.Resources.bear-hands.jpg")); var emailMessage = new EmailMessage("test", "test", "<h3>test</h3>", new EmailAddress("*****@*****.**", "tester mctest")); emailMessage.Headers.Add("test", "123"); emailMessage.Ccs.Add(new EmailAddress("*****@*****.**")); emailMessage.Bccs.Add(new EmailAddress("*****@*****.**")); emailMessage.Attachments.Add("bear-hands.jpg", new EmailAttachment(bytes, "image/jpeg")); await emailProvider.SendEmailAsync(emailMessage); var httpClient = new HttpClient(); var mailhogClient = new MailhogClient(httpClient); var messages = await mailhogClient.GetMessagesAsync(); foreach (var item in messages) { var message = await mailhogClient.GetMessageAsync(item.Id); var consumable = message.ToConsumableMessage(); var result = await mailhogClient.DeleteMessageAsync(item.Id); } }
protected async void btnRecuperarContrasenia_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtEmail.Text)) { TBLUSUARIOS usuXCorreo = LogicaUsuarios.buscarCorreoExistente(txtEmail.Text); bool existeCorreo = !usuXCorreo.EMAIL_USUARIO.Equals(""); if (existeCorreo) { string codigo = GenerateNewRandom(); LogicaCodigos.guardarCodigo(usuXCorreo.ID_USUARIO, codigo); LogicaUsuarios.cambiarEstadoRecuperacion(usuXCorreo); string subject = "Recuperación de contraseña"; string htmlString = @" <html> <body> <h3>Estimad@ " + usuXCorreo.NOMBRE_USUARIO + @"</h3> <p><i>Pasos para la recuperación de contraseña</i></p> <p>Tu usuario es: <b style='font-size: 20px;'>" + usuXCorreo.USU_USUARIO + @"</b></p> <p>Ingresa el siguiente codigo: </p> </br> <code style='font-size: 20px;'>" + codigo.ToString() + @"</code > </br> <p>El código deberás ingresarlo en el siguiente enlace: </p> </br> <a href = 'https://localhost:44305/loginTemplates/RecuperarPage.aspx' target = '_blank'>https://localhost:44305/loginTemplates/RecuperarPage.aspx</a> </br> <p>En caso de no poder ingresar a la direcion, ingrese al Login del sistema e ingrese su usuario y cualquier contraseña. Le redireccionará automaticamente a la recuperacion de contraseña.</p> </body> </html>" ; EmailProvider ep = new EmailProvider(subject, htmlString, txtEmail.Text); await ep.SendEmailAsync(); mostrarToast("Correo Enviado", "El correo ha sido enviado a: " + txtEmail.Text + ". Revise su correo y siga las instrucciones para recuperar sus credenciales.", "Success", 6000); Limpiar(); } else { mostrarToast("Correo Inexistente", "El correo provisto no está registrado", "Error"); } } else { mostrarToast("Error", "Esta vacio", "Error"); } }