← Volver al catálogo

Amazon SES

Amazon Simple Email Service (Amazon SES)

En una frase: Envía correo transaccional y de marketing a gran escala con DKIM y control de rebotes
Certificaciones: SAP-C02 CLF-C02
Documentación oficial: Documentación de Amazon SES ↗

Qué es

Amazon Simple Email Service (SES) es un servicio de correo electrónico para aplicaciones. Envía correos transaccionales (verificaciones, avisos, facturas) y masivos mediante API (Application Programming Interface: interfaz para que los programas se comuniquen) o SMTP (Simple Mail Transfer Protocol: protocolo de envío de correo), y también puede recibir correo y procesarlo. Se encarga de la infraestructura de envío, la reputación y las métricas de entrega.

Conceptos clave

  • Identidades verificadas: direcciones de correo o dominios desde los que puedes enviar. Verificar el dominio permite usar cualquier dirección suya.
  • Sandbox: las cuentas nuevas empiezan limitadas en cada región: solo pueden enviar a destinatarios verificados, hasta 200 mensajes cada 24 horas y 1 por segundo. Hay que solicitar acceso de producción.
  • Autenticación del correo: DKIM (DomainKeys Identified Mail: firma criptográfica de los correos) (Easy DKIM con registros CNAME (Canonical Name: registro DNS que apunta a otro nombre)), SPF (Sender Policy Framework: lista de servidores autorizados a enviar correo del dominio) (dominio MAIL FROM personalizado) y DMARC (Domain-based Message Authentication, Reporting and Conformance: política que indica qué hacer con correos que no se autentican). Son claves para no acabar en spam.
  • Conjuntos de configuración: agrupan envíos para publicar eventos (entregas, rebotes, quejas, aperturas, clics) en CloudWatch, Firehose, SNS (Simple Notification Service) o EventBridge.
  • Reputación: AWS vigila las tasas de rebote y de quejas; si suben demasiado, puede pausar el envío. La lista de supresión evita reenviar a direcciones que rebotan.
  • Recepción: reglas de recepción que guardan el correo en S3 (Simple Storage Service), invocan Lambda o publican en SNS.
  • IP (Internet Protocol: dirección de red) dedicadas (opcionales) para controlar la reputación en volúmenes altos.
  • Disponibilidad regional: no está en todas las regiones; se puede llamar a SES en otra región distinta de la del resto de la aplicación.

Casos de uso típicos

  • Correos transaccionales: confirmación de registro, restablecer contraseña, recibos.
  • Envío de correo de Cognito con dominio propio.
  • Notificaciones de una aplicación a sus usuarios o administradores.
  • Recibir correos entrantes y procesarlos automáticamente (tickets, adjuntos a S3).
  • Campañas masivas con seguimiento de rebotes y quejas.

Cuándo NO usarlo

  • Notificaciones operativas a un equipo por varios canales (correo, SMS (Short Message Service: mensajes de texto al móvil), push, HTTP (HyperText Transfer Protocol: protocolo de la web)): Amazon SNS es más sencillo.
  • Buzones de correo corporativos para personas: SES no es un servidor de buzones.
  • Si no puedes gestionar rebotes y quejas: una mala reputación puede suspender el envío.

Comparativa con servicios parecidos

NecesidadSESSNS
Correo con HTML (HyperText Markup Language: lenguaje de las páginas web), remitente propio y dominio autenticadoSíNo (correo básico de suscripción)
Publicar un mensaje a muchos suscriptores y protocolosNoSí (SQS (Simple Queue Service), Lambda, HTTP, SMS, correo)
Recibir correoSíNo
Métricas de rebotes y quejasSíNo

Modelo de precios

Pago por uso: por cada mil correos enviados o recibidos y por el volumen de datos (los adjuntos cuentan). Las IP dedicadas y las funciones avanzadas de entregabilidad tienen coste aparte. No hay cuota mínima.

Seguridad y alta disponibilidad

  • Permisos de envío con IAM (Identity and Access Management) (ses:SendEmail) y políticas de autorización de identidad para delegar el envío a otras cuentas.
  • TLS (Transport Layer Security: cifrado de las conexiones) en el envío; DKIM, SPF y DMARC para autenticar el dominio.
  • Para envíos críticos se puede configurar SES en una segunda región.

Así lo uso en Kopi

Kopi usa SES para avisar al administrador de cada alta pendiente de aprobar y para los correos de verificación de Cognito. SES no estaba disponible en la región principal del proyecto, así que se llama a SES en otra región (Cognito admite una identidad de SES de otra región). Al principio los correos salían desde una dirección de Gmail verificada y acababan en spam, porque fallaba la alineación DMARC. La solución fue verificar el dominio propio con Easy DKIM, un dominio MAIL FROM con SPF y una política DMARC. Además, un fallo al enviar se registra en los logs pero no interrumpe la operación principal.

Trampas de examen

  • "Solo puede enviar a direcciones verificadas": la cuenta sigue en el sandbox.
  • "Los correos llegan a spam": configurar DKIM, SPF y DMARC con un dominio verificado.
  • "Registrar rebotes, quejas y aperturas": conjunto de configuración con destino de eventos.
  • "Procesar correos entrantes": reglas de recepción de SES hacia S3 o Lambda.
  • "Notificar a un equipo por correo y SMS": SNS, no SES.

Preguntas de práctica

Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.

Fuentes