Construyendo un sistema de archivo de correo electrónico: los desafíos y, por supuesto, la solución – Parte 1
Jeff Goldstein
4 feb 2019
Correo electrónico
1 min read

Puntos clave
El archivo de correos electrónicos es cada vez más esencial para entornos regulatorios, de cumplimiento y auditoría.
SparkPost no almacena cuerpos de correo electrónico, pero su función de Archive permite a los remitentes recibir mensajes duplicados que reflejan enlaces de seguimiento y contenido.
Los cuerpos de correo electrónico pueden almacenarse en Amazon S3, mientras que los metadatos de eventos de mensajes pueden almacenarse en MySQL para consultas y referencias cruzadas.
Los eventos de mensajes de SparkPost proporcionan registros de actividades detallados (rebotes, entregas, clics, aperturas, bajas, quejas y más).
Las copias de archivo solo se generan al enviar correos electrónicos a través de SMTP.
Los eventos de mensajes para correos electrónicos originales, archivados, CC y CCO comparten un transmission_id común.
El Inbound Email Relay puede ingerir mensajes archivados pero no incluye el transmission_id, creando un desafío de vinculación de datos.
Insertar un identificador único oculto (UID) en el cuerpo del mensaje cierra esa brecha y vincula el contenido entrante con los registros salientes.
La combinación de correos electrónicos archivados + eventos de mensajes permite construir un sistema de archivo auditable y buscable.
El proyecto a largo plazo incluye lanzamientos de código para almacenar correos electrónicos archivados en S3 y registrar datos de eventos en MySQL.
La aplicación final permitirá buscar, ver y reconciliar fácilmente el contenido del correo electrónico con todo el historial de eventos relacionados.
Ideal para industrias con altos requisitos de cumplimiento que necesitan visibilidad completa en cada mensaje enviado.
Destacados de Q&A
¿Por qué construir tu propio sistema de archivado de email?
Las industrias reguladas a menudo requieren almacenamiento a largo plazo tanto del cuerpo del email como de todos los registros de eventos asociados. SparkPost no almacena los cuerpos de los mensajes, por lo que construir un sistema personalizado asegura el cumplimiento, la auditoría y la visibilidad.
¿Cómo se obtiene una copia exacta del correo electrónico original enviado?
La Archive feature de SparkPost envía una copia de cada correo electrónico saliente a las direcciones de archivo designadas, preservando todos los enlaces codificados y comportamientos de seguimiento.
¿Por qué no puedes capturar el cuerpo del correo electrónico antes de enviar?
La captura previa al envío no incluye las modificaciones de SparkPost (seguimiento de apertura, seguimiento de clics, codificación de enlaces). Usar copias del archivo garantiza que la versión guardada coincida exactamente con lo que reciben los destinatarios.
¿SparkPost archiva correos electrónicos automáticamente?
No. SparkPost no almacena cuerpos de mensajes. Las copias de archivo deben solicitarse especificando direcciones de archivo durante la inyección SMTP.
¿Qué se almacena dónde en este sistema de archivado?
Cuerpo del correo electrónico → Amazon S3
Registros de eventos de mensajes → MySQL
Esta separación admite búsqueda rápida, consultas estructuradas y almacenamiento de objetos económico.
¿Cuánto tiempo conserva SparkPost los datos de eventos?
SparkPost almacena eventos de mensajes durante 10 días. Después de eso, los datos deben ser ingeridos a través de webhook o consultados y almacenados en otro lugar.
¿Qué eventos de mensaje están disponibles?
SparkPost actualmente expone 14 eventos, incluidos entregas, rebotes, clics, aperturas, rechazos, problemas de política, quejas de spam, cancelaciones de suscripción y más.
¿Qué identificadores conectan todos los eventos?
Todos los mensajes salientes (original, archivo, CC, BCC) comparten el mismo transmission_id. El correo electrónico original y el de archivo también comparten el mismo message_id.
¿Por qué es un desafío el procesamiento inbound?
El Inbound Email Relay de SparkPost convierte el correo electrónico entrante en JSON, pero este JSON no incluye transmission_id. Sin datos adicionales, la copia entrante no se puede vincular a su historial de registro saliente.
¿Cómo conectas los emails de archivo entrantes a los eventos de mensajes salientes?
Inserta un identificador único (UID) oculto en el cuerpo del correo electrónico y pasa el mismo UID en los metadatos. Este UID se convierte en la referencia compartida a través de los registros entrantes y salientes.
¿Cómo ayuda Inbound Email Relay a automatizar el archivo?
Recibe correos electrónicos de archivo enviados a su dominio de archivo, los analiza en JSON estructurado y los envía a su aplicación a través de webhook, permitiendo la extracción y almacenamiento automatizados.
¿Cuál es la visión a largo plazo del proyecto?
Una aplicación completa que:
Almacena correos electrónicos archivados en S3
Almacena todos los registros de eventos en MySQL
Permite a los usuarios buscar correos electrónicos
Muestra el correo electrónico original y cada evento asociado en una interfaz unificada





