public static void EnviarSenhaPorEmail(Usuario usuario) { try { MailMessage mailMessage = new MailMessage { Subject = "Recuperação de senha - Dominus", Body = String.Format( "Olá, " + usuario.Nome + "!" + Environment.NewLine + Environment.NewLine + "Suas credenciais de acesso à plataforma Dominus são:" + Environment.NewLine + " - login: "******" - senha: " + Codificador.Descriptografar(usuario.Senha) ) }; mailMessage.To.Add(usuario.Email); SmtpSection section = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp"); using (SmtpClient client = new SmtpClient(section.Network.Host, section.Network.Port)) { client.UseDefaultCredentials = section.Network.DefaultCredentials; client.Credentials = new NetworkCredential(section.Network.UserName, section.Network.Password); client.EnableSsl = section.Network.EnableSsl; client.Send(mailMessage); } } catch (Exception ex) { throw new Exception(ex.Message); } }
private static void ValidarDadosUsuario(Usuario usuario, Usuario old = null) { if (String.IsNullOrWhiteSpace(usuario.Nome) || usuario.Nome.Trim().Length > 100) { throw new UsuarioNomeException("O nome deve ser preenchido (até 100 caracteres)."); } if (String.IsNullOrWhiteSpace(usuario.Login) || usuario.Login.Trim().Length < 4 || usuario.Login.Trim().Length > 15) { throw new UsuarioLoginException("O login deve ser preenchido (de 4 até 15 caracteres)."); } if (!System.Text.RegularExpressions.Regex.IsMatch(usuario.Login.Trim(), @"^[a-zA-Z0-9_]+$")) { throw new UsuarioLoginException("O login deve conter apenas letras, números ou '_'(sublinhado)."); } if ((old == null || !usuario.Login.Trim().Equals(old.Login)) && GetUsuarioByLogin(usuario.Login.Trim()) != null) { throw new UsuarioLoginException("O sistema já possui um usuário com o login '" + usuario.Login.Trim() + "'. Escolha um outro nome."); } if (String.IsNullOrWhiteSpace(usuario.Email) || usuario.Email.Trim().Length > 100 || !ValidarEmail(usuario.Email)) { throw new UsuarioEmailException("O e-mail deve ser preenchido com um endereço válido (até 100 caracteres)."); } if ((old == null || !usuario.Email.Trim().Equals(old.Email)) && GetUsuarioByEmail(usuario.Email.Trim()) != null) { throw new UsuarioEmailException("O sistema já possui um usuário com o e-mail '" + usuario.Email.Trim() + "'."); } if (String.IsNullOrWhiteSpace(Codificador.Descriptografar(usuario.Senha)) || Codificador.Descriptografar(usuario.Senha).Length < 8 || Codificador.Descriptografar(usuario.Senha).Length > 20) { throw new UsuarioSenhaException("A senha deve ser preenchida e deve atender à política de segurança."); } }