feat: enhance email configuration and validation features

- Implemented mutual exclusivity for SSL and TLS options in the email configuration.
- Added comprehensive validation for required fields, port range, email format, and password requirements.
- Updated the backend to support reversible encryption for SMTP passwords, ensuring secure handling of sensitive data.
- Introduced loading states and improved user feedback in the email configuration UI for better user experience.
This commit is contained in:
2025-11-03 23:51:57 -03:00
parent 3d8f907fa5
commit ce24190b1a
7 changed files with 310 additions and 42 deletions

View File

@@ -23,8 +23,8 @@ export const enviar = action({
return { sucesso: false, erro: "Email não encontrado" };
}
// Buscar configuração SMTP ativa
const config = await ctx.runQuery(internal.email.getActiveEmailConfig, {});
// Buscar configuração SMTP ativa com senha descriptografada
const config = await ctx.runQuery(internal.email.getActiveEmailConfigWithPassword, {});
if (!config) {
return {
@@ -52,8 +52,7 @@ export const enviar = action({
secure: config.usarSSL,
auth: {
user: config.usuario,
// Em produção deve ser armazenado com criptografia reversível
pass: config.senhaHash,
pass: config.senha, // Senha já descriptografada
},
tls: {
// Permitir certificados autoassinados