public Retorno EnviaEmailConfirmacao(UsuarioDTO usuario) { string body = HelperEmail.BodyConfirmacao(configuration["UrlConta"], configuration["EnderecoEmail"], usuario); string assunto = HelperEmail.AssuntoConfirmacao(); return(EnviaEmail(usuario.Email, body, assunto)); }
private Retorno MontaEmailSenha(TokenEmailDTO tokenEmail, string email) { //endereco de email do PoruLibras string endereco = configuration["EnderecoEmail"]; //montar assunto string assunto = HelperEmail.AssuntoSenha(); //montar body string body = HelperEmail.BodySenha(tokenEmail.Token, endereco); //efetua o envio do email return(EnviaEmail(email, body, assunto)); }
public Retorno EnviaResetSenha(string email) { if (email.Contains("\"")) { email = email.Replace("\"", ""); } //buscar usuario por email var usuario = new UsuarioDTO() { Email = email }; //busca usuario var usuarioEncontrado = BuscaUsuario(usuario); //validar se email existe if (usuarioEncontrado == null) { return(new Retorno() { Codigo = 404, Mensagem = "Email não encontrado." }); } var tokenEmail = new TokenEmailDTO() { CodigoUsuario = usuarioEncontrado.CodigoUsuario, }; //busca token no banco tokenEmail = BuscarTokenEmail(tokenEmail); //gera novo token string token = HelperEmail.GeraCodigo(); //verificar se usuario ja possui token if (VerificaTokenExiste(tokenEmail)) { //recebe novo token de reset de senha tokenEmail.Token = token; //gera data de expiracao adicionando 2 horas da atual tokenEmail.DataValida = DateTime.Now.AddHours(2).ToString("yyyy-MM-dd HH:mm:ss"); //alterar novo token if (repositoryTokenEmail.AlterarToken(tokenEmail) == 0) { return(new Retorno() { Codigo = 500, Mensagem = "Falha ao gerar novo token, por favor entre em contato com o suporte" }); } //busca novo token alterado tokenEmail = BuscarTokenEmail(new TokenEmailDTO() { CodigoUsuario = tokenEmail.CodigoUsuario }); //envia email com novo token e retorna mensagem return(MontaEmailSenha(tokenEmail, usuarioEncontrado.Email)); } tokenEmail = new TokenEmailDTO() { CodigoUsuario = usuarioEncontrado.CodigoUsuario, Token = token, //gera data de expiracao adicionando 2 horas da atual DataValida = DateTime.Now.AddHours(2).ToString("yyyy-MM-dd HH:mm:ss") }; //grava o token no banco int tokenInserido = repositoryTokenEmail.GravarTokenEmail(tokenEmail); //envia email e retorna mensagem var retorno = MontaEmailSenha(tokenEmail, usuarioEncontrado.Email); //caso erro exclui token if (retorno.Codigo == 500) { repositoryTokenEmail.DeletarTokenEmail(tokenInserido); return(new Retorno() { Codigo = 500, Mensagem = "Falha ao criar token" }); } return(retorno); }