Todas las guías de despliegue Despliegue

SSL/TLS para servidores de correo (Postfix, Dovecot, Exchange)

El mismo certificado de Let’s Encrypt que asegura tu sitio web también puede cifrar tus conexiones de correo electrónico. Esta guía cubre la configuración de TLS para los servidores de correo más comunes.

Por qué el correo electrónico necesita TLS

Sin TLS, el tráfico de correo (incluyendo contraseñas y contenido de mensajes) se envía en texto plano:

  • SMTP (envío de correo) — puerto 25/587 sin cifrar por defecto
  • IMAP (lectura de correo) — puerto 143 sin cifrar por defecto
  • POP3 (lectura de correo) — puerto 110 sin cifrar por defecto

TLS cifra estas conexiones de la misma manera que HTTPS cifra el tráfico web. Los clientes de correo modernos esperan TLS y advertirán a los usuarios sobre conexiones sin cifrar.

Configuración del certificado

Puedes usar los mismos archivos de certificado de GetHTTPS tanto para tu servidor web como para tu servidor de correo, siempre que el certificado cubra el nombre de host que usa tu servidor de correo (por ejemplo, mail.example.com).

Obtén un certificado que cubra tu nombre de host de correo:

  1. En GetHTTPS, añade mail.example.com (o el nombre de host al que apunte tu registro MX)
  2. Puedes incluirlo junto con tu dominio web: example.com + www.example.com + mail.example.com
  3. Descarga los archivos: fullchain.pem, privkey.pem

Postfix (SMTP)

Edita /etc/postfix/main.cf:

# TLS for outbound mail (sending)
smtp_tls_security_level = may
smtp_tls_loglevel = 1

# TLS for inbound mail (receiving) — STARTTLS on port 25/587
smtpd_tls_cert_file = /etc/ssl/gethttps/fullchain.pem
smtpd_tls_key_file = /etc/ssl/gethttps/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_loglevel = 1

Para submission (puerto 587), edita /etc/postfix/master.cf:

submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes

Recarga: sudo systemctl reload postfix

Dovecot (IMAP/POP3)

Edita /etc/dovecot/conf.d/10-ssl.conf:

ssl = required
ssl_cert = </etc/ssl/gethttps/fullchain.pem
ssl_key = </etc/ssl/gethttps/privkey.pem
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = no

Nota el < antes de la ruta del archivo: Dovecot usa esta sintaxis para leer el contenido del archivo en línea.

Recarga: sudo systemctl reload dovecot

Puertos IMAP/POP3

ServicioSin cifrarSTARTTLSTLS implícito (recomendado)
IMAP143143 (upgrade)993
POP3110110 (upgrade)995
SMTP submission587587 (upgrade)465 (smtps)

Los clientes de correo modernos deben conectarse a los puertos de TLS implícito (993, 995, 465). Configúralos en Dovecot y Postfix junto con los puertos STARTTLS.

Verificar TLS del correo

# Test SMTP STARTTLS
openssl s_client -connect mail.example.com:587 -starttls smtp

# Test IMAP implicit TLS
openssl s_client -connect mail.example.com:993

# Test SMTP implicit TLS (smtps)
openssl s_client -connect mail.example.com:465

Busca Verify return code: 0 (ok) y los detalles de tu certificado.

Renovación

Cuando renueves tu certificado de Let’s Encrypt, reemplaza los archivos y recarga tanto tu servidor web como tu servidor de correo:

sudo systemctl reload nginx      # web
sudo systemctl reload postfix    # SMTP
sudo systemctl reload dovecot    # IMAP

Si usas Certbot con --deploy-hook, añade las recargas del servidor de correo al script del hook.

Preguntas frecuentes

¿Puedo usar el mismo certificado para web y correo?

Sí, siempre que el SAN (Subject Alternative Name) del certificado incluya el nombre de host del servidor de correo. Si tu MX apunta a mail.example.com, incluye ese nombre al solicitar el certificado.

¿Let’s Encrypt funciona para servidores de correo?

Sí. Los certificados de Let’s Encrypt son certificados X.509 estándar que funcionan con cualquier servicio compatible con TLS, no solo con servidores web. El certificado no sabe si se usa para HTTPS, SMTP, IMAP o cualquier otra cosa.

¿Necesito un certificado separado para cada protocolo de correo?

No. Un solo certificado funciona para SMTP (Postfix), IMAP (Dovecot) y tu servidor web simultáneamente. Apunta todos los servicios a los mismos archivos fullchain.pem y privkey.pem.

¿Qué hay de Microsoft Exchange?

Exchange usa el formato PFX/PKCS#12. Convierte tus archivos PEM a PFX, luego importa vía Exchange Admin Center → Servers → Certificates → Import. El proceso es similar a la instalación de certificados en IIS.

Artículos relacionados

Primeros pasos 2026-05-08
Cómo obtener un certificado SSL gratuito (guía paso a paso)
Obtén un certificado SSL gratuito de Let's Encrypt en 5 minutos — sin software que instalar, sin cuenta que crear. Guía completa con 4 métodos, ambos tipos de desafío, instalación en 6 plataformas y solución de problemas.
Despliegue 2026-05-08
Cómo instalar un certificado SSL en Nginx
Guía paso a paso para instalar un certificado SSL en Nginx. Cubre subida de archivos, configuración completa del bloque server, mejores prácticas TLS, HTTP/2, HSTS, redirección y solución de 6 errores comunes.
SSL y certificados 2026-05-07
Formatos de certificados SSL: PEM, PFX, DER explicados
Comprende los formatos de certificado PEM, PFX/PKCS#12 y DER. Aprende qué formato necesita tu servidor y cómo convertir entre ellos con OpenSSL.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado