SES AWS – Email Pipeline Serverless

Este proyecto es un pipeline serverless que permite recibir correos electrónicos utilizando Amazon SES, almacenarlos en S3, procesarlos con una función Lambda y generar notificaciones automáticas.

Arquitectura

Arquitectura del Pipeline de Email
Arquitectura del Pipeline de Email

Herramientas utilizadas

  • Amazon Web Services (AWS)
  • Amazon SES (Simple Email Service)
  • Amazon S3 (Simple Storage Service)
  • λ AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS (Simple Notification Service)

Autor: Esteban Martins
Code: github.com/hokuto06
Mail: info@estebanmartins.com.ar

Trigger – Recepción del correo

Cuando Amazon SES recibe un correo dirigido a info@estebanmartins.com.ar, se activa una Regla de Recepción (Receipt Rule).

Esta regla ejecuta una acción de tipo S3, que almacena el correo en formato raw MIME (formato técnico del mensaje con encabezados y cuerpo completo) en un bucket S3.

Este bucket tiene configurado un evento que dispara automáticamente una función Lambda llamada email_parser cada vez que se sube un nuevo objeto.

Lambda – Procesamiento del correo

La función Lambda email_parser recibe el evento con información del nuevo archivo en S3: el nombre del bucket y el object.key.

  • Recupera el contenido del correo con get_object de S3
  • Parsea el mensaje usando la librería email de Python
  • Extrae datos útiles como From, Subject, Date y To
  • Guarda esos datos estructurados en una tabla de Amazon DynamoDB llamada email_received

Notificación – SNS Topic

Luego de almacenar los datos en DynamoDB, la Lambda publica un mensaje en un topic de Amazon SNS llamado alerta-email-recibido.

Este topic envía una notificación automática por email (o cualquier otro protocolo) al administrador del sistema (yo 😉).

Resumen del Pipeline

El pipeline completo funciona de la siguiente manera:

SES → S3 → Lambda → DynamoDB + SNS
  • El correo llega a SES y se almacena en S3
  • La función Lambda se activa al detectar un nuevo archivo
  • Lambda procesa el correo, extrae datos y los guarda en DynamoDB
  • Se envía una notificación por SNS al administrador de la cuenta de correo.

Todo esto ocurre de forma automática y sin necesidad de mantener servidores, aprovechando al máximo la arquitectura serverless de AWS.

Placeholder text by Source Code · Images by Demo
A lo largo de mi carrera he aprendido que la tecnología es una herramienta poderosa para resolver problemas y mejorar la vida de las personas.
Creo en la importancia de la ética en la tecnología y en el desarrollo de soluciones que sean accesibles y sostenibles.
Creo en la educación continua y en el aprendizaje compartido
Creo en la empatía y también creo en la colaboración.
Creo en la innovación responsable y en el poder de la comunidad para impulsar cambios.

Esteban Martins