Filtro de estado de alambre y plantillas de seda automática requeridas en la lista
- EmailTemplateController.list() ahora acepta ?status= param y filtros utilizando la consulta de repositorio de find deByOrgIdAndStatus - Semillas automáticas...
Vista previa utiliza los mismos autovars que enviarToUser (org logotipo de . nombre)
El endpoint de vista previa ahora inyecta logoUrl, logoSimpleUrl y orgName desde el dominio de org antes de aplicar las variables de contenido de la muestra, qu...
Actualizar EMAIL-VERIFICATION sample vars para que cointe con la plantilla actual
Utilice caducidadText en lugar de caducidadMinutes (variable rebautada) y actualización verificarLink para apuntar al subdominio del registro (correchar ruta de...
Preservar el caso de dominio DB en NoRespuesta desde la dirección
Retirado aLowerCase() El dominio ya viene de la resoluciónPrimaryDomain que lee los org-domains de la base de datos, así que el caso es canónico de DB.
Resolver dominio raíz para NoReply from-address en lugar de subdominio desnudo
resoluciónPrimaryDomain () estaba devolviendo la primera entrada de dominio (por ejemplo, "www") que produjo NoReply-www. Ahora prefiere los dominios raíz (padr...
Añadir interna.auth.secret a EmailService configmap
InternaAuthFilter estaba rechazando todas las llamadas de servicio a servicio (envíen, semilla-org) con 503 porque interior.auth.secret estaba desconfigurado. C...
Permitir el envío transaccional en el relé de puerto-25 y plantillas faltadas de seda automática
Port-25 SMTP (postfix) no requiere auth . . . . . . . . . . . . . . . . . . lanzar Proveedor de indisponibleExcepción cuando el usuario/paso no estaba configur...
Añadir dao.repositories al escaneo JPA para que EmailTemplateRepository se encuentre
El mismo patrón que KamoInitializerService - base explícitaPaquetes anulas escaneo por defecto y debe incluir cada paquete que tenga repositorios.
Rename buzón de buzónId.id y proveedorStatus-status en la respuesta de la lista de buzones
Alinear nombres de campo con expectativas frontend para los listados de buzones de los miembros.
Soporte conmutación de buzón mediante la resolución de credenciales IMAP por buzón de correoId
Añadido getMailCredentialsByEmail para buscar a los usuarios virtuales por correo electrónico directamente, resoluciónForMailbox to MailProviderResolver con la ...
Nombrar DomainService a EmailDomainService para resolver el conflicto de nombres de frijol
DomainService de la biblioteca compartida y DomainService local de EmailService ambos se registraron como frijol 'domainService', causando CrashLoopBackOff en e...
Correja firmas de métodos en DomainController y MailboxController
- Fix getMemberMailboxes - getMailboxesForMember in MailboxController - Añadir el parámetro miembro desaparecidoId para getVerificationRecords y verificarDomain...
Extraer BCC de los mensajes IMAP
La cabecera BCC se conserva en copias de carpetas enviadas. Ahora extraídos a su lado A y CC para que el frontend pueda mostrarlo en las vistas previas del artí...
Proveedor devuelve tanto tipo como proveedorType, PUT acepta ambos
GET /api/email/provider ahora incluye tanto campos 'tipo' y 'proverType' en la respuesta para la compatibilidad frontend. PUT acepta ahora 'tipo' como un retrob...
Actualizar archivos de prueba de EmailService para ID de entidad de calendario UUID
Actualizar los tipos de identificación de calendario, contacto e integración de larga a UUID
Entidades de calendario, subentidades de contacto y ID de contactoIntegración son Ahora UUID. Actualiza todos los servicios, controladores y endpoints DAV.
Añadir seguridad-servicio.*** a K8s ConfigMap
KamoJwtService requiere esta propiedad para la validación silbada Bearer en DavAuthFilter, pero el K8s ConfigMap sobresata application.yml y estaba faltar por C...
Alinear la ruta del controlador con la convención de correo electrónico proxy ****************
Utilícelos constructores ical4j en generateEventIcs jaback, use Version constant
Eliminar el repodo duplicado JPA repo scan - use paquete de padre solamente
com.kamo.z.shared.email cubre metadata.repos, escaneado ambos BeanDefinitionOverrideExcepción en el mensajeLabelRepository.
Añadir com.kamo.z.shared.email a los paquetes de escaneo del repositorio JPA
Añadir rspamd config a K8s ConfigMap y establecer ddl-auto a ninguno
La propiedad rspamd.base-url faltaba de la producción ConfigMap, causando CrashLoopBackOff en el despliegue. También corrige dev ddl-auto a ninguno.
Eliminar las cabeceras de WebSocket codificados duros de middleware de email middleware
Traefik v3 maneja las cabeceras de actualización/conexión de forma nativa. Feleccionándolos rompieron transportes de caída de SockJS (xhr-streaming, xhr-polling...
Utilización de valor para RspamdConfig y hacer entrenamiento sin bloqueo
RspamdConfig ahora utiliza Value para que coincidas con los patrones de proyecto existentes. Los fallos de entrenamiento de Rspamd ya no impiden mover el mensaj...
Devuelve la lista vacía para carpetas IMAP inexistentes en lugar de estrellarse
Guardar copia en carpeta enviada después de enviar correo electrónico
Transport.send() solo envía vía SMTP sin ahorrar a IMAP. Añadido GuardToSent() para adjuntar el mensaje a la carpeta Sent con el conjunto de bandera SEEN. Se ap...
Desactivar STARTTLS y auth para el puerto 25 interno SMTP
El puerto 25 en Postfix interno no admite STARTTLS y permite relé de las IPs de racimo a través de mynetworks. Sólo habilitar auth y STARTTLS cuando se utiliza ...
Utilice el puerto SMTP 25 en lugar de 587 para Postfix interno
Postfix sólo escucha el puerto 25 dentro del cluster. Puerto 587 (sumisión) no está habilitada en el contenedor.
Cambiar ddl-auto de ninguna a la actualización para la gestión del esquema de automóviles
Hibernate no estaba creando el esquema y conversaciones de email-metadata mesa porque ddl-auto no se fijó en ninguno en el configmap k8s.
Utilícese consulta nativa para la columna PostgreSQL texto[] en ConversationRepository
El miembro OF no es compatible con el apoyo de Hibernate para los campos de .JdbcTypeCode (ARRAY). Cambiar a SQL nativo con CUALQUIER () para la mirada de array...
Utilice StringRedisTemplate para leer los valores de OTK/sesión almacenados como cadenas simples
La app Next.js almacena valores de OTK y *** como cadenas simples en Redis. El redisTemplate predeterminado utiliza el serializador JSON que no logra analizarlo...
Añadir las importaciones de jakarta.mail.event desaparecidos y atrape IOException en el manejador NATS
Como lo que ves enviaste?
Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.