La Guía Completa de Configuración SMTP: Puertos, Autenticación y Configuración del Servidor de Correo

Ilustración de ciberseguridad con autenticación, servidor protegido con escudo y candado, y puertos conectados por circuitos en fondo azul oscuro

La configuración SMTP es el proceso de configurar tu servidor de correo (o cliente de correo electrónico) para enviar mensajes correctamente usando el Protocolo Simple de Transferencia de Correo. Si lo haces bien, tus correos llegan a las bandejas de entrada. Si algo falla, enfrentarás errores de entrega, fallos de autenticación o mensajes que terminan silenciosamente en carpetas de spam. Hay tres cosas que debes acertar cada vez: el puerto correcto, el método de cifrado adecuado y credenciales de autenticación que funcionen.

Qué Hace Realmente SMTP

SMTP es el protocolo que tu cliente de correo o aplicación usa para entregar mensajes salientes a un servidor de correo, que luego los encamina hacia el destinatario. Solo maneja el lado del envío. La recepción de correos se gestiona mediante protocolos separados: IMAP (para sincronizar) o POP3 (para descargar).

Cuando presionas "Enviar", tu cliente abre una conexión TCP al servidor SMTP, se autentica, entrega el mensaje y se desconecta. El servidor intenta entonces entregar ese mensaje al servidor de correo del destinatario usando el mismo protocolo, buscando el registro MX (Mail Exchange) de DNS del destino para saber dónde enviarlo.

SMTP se define en RFC 5321 , que reemplazó el RFC 2821 original. Comprender la especificación ayuda cuando necesitas depurar conversaciones SMTP sin procesar o configurar un servidor desde cero.

Puertos SMTP Explicados: 25, 465 y 587

Hay tres puertos que encontrarás en cualquier configuración SMTP. Cada uno tiene un rol específico, y usar el incorrecto es una de las causas más comunes de fallos en la entrega de correos.

Puerto Nombre Cifrado Uso Típico
25 SMTP Ninguno (o STARTTLS) Retransmisión servidor a servidor (MTA a MTA)
465 SMTPS SSL/TLS Implícito Envío de cliente heredado (aplicaciones antiguas)
587 Envío STARTTLS (TLS Explícito) Envío autenticado de correo desde cliente

Puerto 25 vs 587: ¿Cuál Deberías Usar?

El puerto 25 es el puerto SMTP original, definido en 1982. Fue diseñado para que los servidores de correo se comunicaran entre sí, no para que los usuarios finales enviaran correos. La mayoría de proveedores de servicios de Internet y proveedores en la nube bloquean el puerto 25 saliente desde direcciones IP residenciales y de hosting compartido específicamente para prevenir spam. Si estás ejecutando una aplicación que envía correos, intentar usar el puerto 25 casi con certeza fallará.

El puerto 587 es la opción correcta para enviar correos desde un cliente o aplicación. Se estandarizó en RFC 6409 como el puerto dedicado de "envío de mensajes". Requiere STARTTLS, lo que significa que la conexión comienza sin cifrar y luego se actualiza a TLS antes de enviar credenciales. Esto es lo que Gmail, Outlook y prácticamente todos los proveedores de correo modernos esperan que uses.

Nunca envíes credenciales sobre una conexión sin cifrar. Si tu cliente SMTP recurre a texto plano cuando STARTTLS falla, transmitirá tu nombre de usuario y contraseña sin protección. Siempre configura tu cliente para requerir TLS y rechaza la conexión si no se puede establecer el cifrado.

Puerto SMTP 465: El Puerto Heredado SSL

El puerto 465 tiene un historial inusual. Se asignó brevemente a SMTPS (SMTP sobre SSL) en 1997, luego esa asignación se revocó en 1998 cuando STARTTLS en el puerto 587 se convirtió en el enfoque preferido. A pesar de estar oficialmente deprecado, muchos servidores de correo continuaron soportándolo, y más tarde fue re-registrado por IANA para un propósito diferente.

En la práctica, la mayoría de proveedores aún aceptan conexiones en el puerto 465 usando SSL/TLS implícito. Esto significa que TLS envuelve toda la conexión desde el primer byte, en lugar de actualizar a mitad del protocolo de enlace como STARTTLS. Algunas aplicaciones antiguas y hardware (ciertas impresoras de red, CRMs heredados) solo soportan el puerto 465, por lo que sigue siendo útil en esos casos.

  • Usa el puerto 465 si tu aplicación o dispositivo específicamente requiere SSL implícito y no puede hacer STARTTLS.
  • Usa el puerto 587 para todo lo demás. Es el estándar moderno.
  • Evita completamente el puerto 25 para envío desde cliente.

Autenticación SMTP: Cómo Funciona

La autenticación SMTP (a menudo escrita como SMTP AUTH) se define en RFC 4954 . Requiere que el cliente demuestre su identidad antes de que el servidor acepte correos salientes. Sin ella, cualquiera que pudiera alcanzar tu servidor podría usarlo para enviar spam, por eso los relés abiertos se tratan como un problema de seguridad grave.

Los mecanismos de autenticación más comunes que verás en la configuración SMTP son:

  • PLAIN: Envía el nombre de usuario y contraseña codificados en base64. Seguro solo sobre una conexión cifrada (TLS debe estar activo primero).
  • LOGIN: Similar a PLAIN pero envía nombre de usuario y contraseña como intercambios separados. También requiere TLS.
  • CRAM-MD5: Un mecanismo de desafío-respuesta que evita enviar la contraseña directamente. Menos común en servidores modernos.
  • XOAUTH2: Usado por Gmail y otras cuentas de Google Workspace. En lugar de una contraseña, proporcionas un token de acceso OAuth 2.0. Esto es lo que necesitas cuando el acceso de "aplicaciones menos seguras" está deshabilitado.
Contraseñas de aplicación vs. tu contraseña principal: Gmail, Outlook y Yahoo todos soportan contraseñas específicas de aplicación para clientes SMTP que no soportan OAuth. Genera una desde la configuración de seguridad de tu cuenta y úsala en lugar de tu contraseña real. Puede revocarse independientemente sin cambiar tus credenciales principales.

Configuración del Servidor de Correo Paso a Paso

Ya sea que estés configurando un cliente de correo como Thunderbird, una aplicación web que envía correos transaccionales, o un servidor de correo autohospedado, el proceso sigue la misma secuencia lógica.

Para Clientes de Correo y Aplicaciones

  1. Obtén el nombre de host SMTP de tu proveedor. Ejemplos: smtp.gmail.com , smtp.office365.com , mail.yourdomain.com .
  2. Elige el puerto correcto. Usa 587 con STARTTLS como tu opción predeterminada. Recurre al 465 con SSL solo si tu aplicación lo requiere.
  3. Ingresa tus credenciales de autenticación. Generalmente es tu dirección de correo completa como nombre de usuario más tu contraseña o contraseña de aplicación.
  4. Establece el método de cifrado. Hazlo coincidir con el puerto: STARTTLS para 587, SSL/TLS para 465.
  5. Prueba la conexión. La mayoría de clientes de correo tienen un botón "Probar Configuración de Cuenta" o "Verificar". Úsalo antes de guardar.

Para un Servidor de Correo Autohospedado (Ejemplo Postfix)

Si estás ejecutando tu propio servidor con Postfix, la configuración SMTP principal está en /etc/postfix/main.cf . Aquí hay un ejemplo mínimo de trabajo para un servidor que retransmite a través de un proveedor SMTP de terceros:

# /etc/postfix/main.cf - Basic relay configuration

relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes

Después de editar, crea /etc/postfix/sasl_passwd con tus credenciales, ejecuta postmap /etc/postfix/sasl_passwd para codificarlo, luego recarga Postfix con systemctl reload postfix .

Asegura sasl_passwd inmediatamente. Ejecuta chmod 600 /etc/postfix/sasl_passwd y chmod 600 /etc/postfix/sasl_passwd.db después de crear el archivo. Los archivos de credenciales legibles son una mala configuración común del servidor.

Configuración SMTP Común para Proveedores Populares

Proveedor Host SMTP Puerto Cifrado Nota de Autenticación
Gmail smtp.gmail.com 587 STARTTLS Usa contraseña de aplicación u OAuth2
Gmail (alternativa) smtp.gmail.com 465 SSL/TLS Usa contraseña de aplicación u OAuth2
Microsoft 365 smtp.office365.com 587 STARTTLS Autenticación Moderna / contraseña de aplicación
Yahoo Mail smtp.mail.yahoo.com 465 SSL/TLS Se requiere contraseña de aplicación
Zoho Mail smtp.zoho.com 587 STARTTLS Correo completo como nombre de usuario
Amazon SES email-smtp.us-east-1.amazonaws.com 587 STARTTLS Credenciales SMTP de IAM

Solución de Problemas de Conexión SMTP

La mayoría de fallos SMTP caen en un pequeño número de categorías. Antes de profundizar en registros, verifica si el puerto es realmente accesible desde tu servidor o red. Un firewall o bloqueo de ISP es a menudo el culpable, y puedes confirmarlo rápidamente sin herramientas especiales.

Puedes verificar si un puerto SMTP está abierto en tu servidor de correo usando un verificador de puertos en línea gratuito. Ingresa el nombre de host o dirección IP de tu servidor de correo, selecciona el puerto 25, 465 o 587, y ejecuta la prueba. Si el resultado es cerrado o tiempo de espera agotado, el problema es a nivel de red (firewall, bloqueo de ISP, o el servicio no está ejecutándose) en lugar de un error de configuración dentro de tu aplicación.

Mensajes de Error Comunes y Qué Significan

  • Conexión rechazada / Tiempo de conexión agotado: El puerto está bloqueado o el servicio no está escuchando. Verifica tus reglas de firewall y confirma que el daemon SMTP está ejecutándose.
  • 535 Autenticación fallida: Nombre de usuario o contraseña incorrectos. Para Gmail, esto usualmente significa que necesitas una contraseña de aplicación, no tu contraseña de cuenta.
  • 550 5.7.1 Acceso de retransmisión denegado: Tu servidor no está configurado para retransmitir correos para esa dirección de remitente, o la autenticación no ocurrió antes del comando MAIL FROM.
  • 421 Demasiadas conexiones: El servidor receptor te está limitando la velocidad. Reduce la frecuencia de envío o implementa una cola con retrasos.
  • Fallo de protocolo de enlace TLS: Desajuste de certificado o versión TLS obsoleta. Verifica que el certificado SSL de tu servidor sea válido y que no estés intentando usar TLS 1.0 o 1.1, que la mayoría de proveedores han deshabilitado.

Lista de Verificación de Diagnóstico Rápido

  1. Confirma que el puerto SMTP está abierto y es accesible desde tu entorno de envío.
  2. Verifica que el nombre de host se resuelva correctamente con nslookup smtp.yourdomain.com .
  3. Comprueba que tu dirección IP de envío no esté en una lista de bloqueo usando una herramienta como Verificación de Lista Negra MXToolbox .
  4. Confirma que tus registros DNS de SPF, DKIM y DMARC estén publicados correctamente. Los registros faltantes o rotos causan que el correo legítimo sea rechazado o descartado.
  5. Revisa los registros de tu servidor de correo. Para Postfix, verifica /var/log/mail.log . Los códigos de respuesta SMTP reales en el registro te dicen exactamente qué rechazó el servidor remoto y por qué.
SPF, DKIM y DMARC importan tanto como tu configuración SMTP. Incluso un servidor SMTP perfectamente configurado tendrá problemas de entregabilidad si estos registros DNS faltan. SPF le dice a los servidores receptores qué direcciones IP están autorizadas para enviar en tu dominio. DKIM añade una firma criptográfica a los mensajes salientes. DMARC le dice a los receptores qué hacer cuando alguno de estos fallos ocurre.
Herramienta de verificación de puertos en línea verificando el estado del puerto SMTP para configuración de servidor de correo

¿Tu Puerto SMTP Realmente Está Abierto?

Antes de culpar a tu configuración SMTP, confirma que el problema no es un puerto bloqueado. Nuestro verificador de puertos gratuito te permite probar el puerto 25, 465 o 587 en cualquier servidor de correo instantáneamente, para que sepas si estás lidiando con un problema de firewall o un error de configuración.

Verifica Tu Puerto SMTP Ahora →

El puerto 465 usa SSL/TLS implícito, lo que significa que toda la conexión está cifrada desde el principio. El puerto 587 usa STARTTLS, que comienza como una conexión simple y luego se actualiza a TLS antes de enviar credenciales. Ambos son seguros cuando se configuran correctamente, pero el puerto 587 es el estándar moderno recomendado para envío de correo desde cliente. Usa 465 solo si tu aplicación específicamente requiere SSL implícito y no puede soportar STARTTLS.

El puerto 25 está bloqueado en la mayoría de redes residenciales y de hosting compartido porque históricamente se usaba para enviar spam directamente desde máquinas comprometidas. Al bloquear el puerto 25 saliente, los ISPs y proveedores en la nube (incluyendo AWS EC2 por defecto) previenen que sus rangos de IP se usen como fuentes de spam. Para enviar correos desde aplicaciones, usa el puerto 587. Si estás ejecutando un servidor de correo legítimo que necesita el puerto 25 abierto para retransmisión servidor a servidor, típicamente necesitas solicitar que el proveedor levante el bloqueo.

En la mayoría de los casos, tu nombre de usuario SMTP es tu dirección de correo completa, por ejemplo you@yourdomain.com . Algunos sistemas más antiguos usan solo la parte local antes del símbolo @. Para servicios como Amazon SES, el nombre de usuario es una credencial SMTP generada por IAM separada, no tu dirección de correo en absoluto. Siempre verifica la documentación de tu proveedor específico. Cuando uses Gmail u Outlook con autenticación de dos factores habilitada, necesitarás generar una contraseña específica de aplicación en lugar de usar tu contraseña de cuenta normal.

Puedes probar en múltiples niveles. Primero, verifica que el puerto SMTP sea accesible usando una herramienta de verificación de puertos o ejecutando telnet smtp.yourdomain.com 587 desde tu servidor. Si el puerto está abierto, puedes probar el protocolo de enlace SMTP completo usando openssl s_client -starttls smtp -connect smtp.yourdomain.com:587 , que muestra el certificado TLS y te permite escribir comandos SMTP sin procesar. Para una prueba completa de extremo a extremo sin entregar a una bandeja de entrada real, usa un servicio como Mailtrap, que acepta conexiones SMTP y te muestra el mensaje sin reenviarlo.

La autenticación SMTP exitosa solo demuestra que estás autorizado para usar el servidor. El filtrado de spam ocurre por separado en el extremo receptor y se basa en una combinación de factores: si tu dirección IP de envío está en una lista de bloqueo, si tu registro SPF autoriza esa IP para enviar en tu dominio, si tu firma DKIM es válida y coincide con tu registro DNS, y si tu política DMARC está publicada. Un registro SPF faltante o roto solo es suficiente para causar que Gmail u Outlook descarten tus mensajes. Verifica los tres registros DNS y confirma la reputación de tu dirección IP de envío.

Sí, pero con limitaciones. El servidor SMTP de Gmail ( smtp.gmail.com en el puerto 587) enviará correos autenticados como tu cuenta de Gmail. Si quieres que la dirección "De" muestre tu dominio personalizado, necesitas agregar esa dirección en la configuración de Gmail bajo "Enviar correo como" y verificar la propiedad. Sin embargo, Gmail añade una anotación "enviado mediante gmail.com" visible en algunos clientes de correo. Para una configuración más limpia con tu propio dominio, usar un proveedor de correo transaccional como Amazon SES o un relé SMTP dedicado es una mejor opción a largo plazo.