コード例 #1
0
        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}");
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
ファイル: LoginPage.aspx.cs プロジェクト: stev1309/practica_I
        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");
            }
        }