se responde al remitente con las plantillas de aceptado/rechazado

El sistema contesta a quien envió el correo con la plantilla que corresponda.
Por defecto (NOTIFICACION_MODO=prueba) la respuesta va solo al equipo con el
asunto "[PRUEBA → remitente]"; en modo real va al remitente con copia oculta
al equipo. El correo técnico (tablas de SAP, JSON) pasa a ir solo al equipo.

- respuesta_proveedor.py: contextos de las plantillas, envío y protecciones
  (remitente desconocido o sin dominio, propio buzón, no-reply, mensajes
  automáticos, respuestas a notificaciones, límite de 3 por remitente/24 h).
- observaciones.py: motivos de rechazo con título, filas y cómo corregir
  (borrador de textos); también para correos sin comprobante válido.
- Un error de SAP/HANA o un fallo inesperado no se le comunica al proveedor y
  ya no tumba el ciclo; "guía no encontrada" exige que HANA responda.
- outlook_utilities: es_mensaje_automatico y copia oculta en send_email.
- seguimiento: notificacion_destinatario (con migración) y
  contar_respuestas_correo.
- config_validator anuncia el modo activo; documentación y pruebas.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-22 08:55:54 -05:00
1 parent 190fcc8f9e
commit 108d52da33
22 files changed
+1660 -146

No files matched your search

+12
View File
@@ -26,6 +26,7 @@ HANA_PASSWORD =
HANA_SCHEMA =
# --- Microsoft Graph / Outlook (MSAL, app registration en Azure AD) ---
# Cómo obtener estos valores: docs/configurar_msal.md
CLIENT_ID =
CLIENT_SECRET =
TENANT_ID =
@@ -33,3 +34,14 @@ VERIFY_SSL = false
# --- Logging (ver logger_manager.py). Opcional, por defecto INFO ---
LOG_LEVEL = INFO
# --- Respuesta al proveedor (aceptado / rechazado), ver docs/respuesta_proveedor.md ---
# prueba (por defecto): la respuesta va al equipo con asunto "[PRUEBA → remitente]", NO al proveedor.
# real: la respuesta va a quien envió el correo, con copia oculta al equipo.
NOTIFICACION_MODO = prueba
# Direcciones internas (coma o punto y coma): reciben el correo técnico y las respuestas en modo prueba.
NOTIFICACION_EQUIPO = equipo1@dominio.com,equipo2@dominio.com
# Contacto del botón "Escribir a Aberio" (por defecto, el buzón EMAIL).
NOTIFICACION_CONTACTO =
# URL pública (https) del logo que se muestra en el correo. Vacío = sin logo.
LOGO_URL =