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.
Tabla de Contenidos
- Qué Hace Realmente SMTP
- Puertos SMTP Explicados: 25, 465 y 587
- Puerto 25 vs 587: ¿Cuál Deberías Usar?
- Puerto SMTP 465: El Puerto Heredado SSL
- Autenticación SMTP: Cómo Funciona
- Configuración del Servidor de Correo Paso a Paso
- Configuración SMTP Común para Proveedores Populares
- Solución de Problemas de Conexión SMTP
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.
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.
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
-
Obtén el nombre de host SMTP de tu proveedor.
Ejemplos:
smtp.gmail.com,smtp.office365.com,mail.yourdomain.com. - 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.
- 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.
- Establece el método de cifrado. Hazlo coincidir con el puerto: STARTTLS para 587, SSL/TLS para 465.
- 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
.
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
- Confirma que el puerto SMTP está abierto y es accesible desde tu entorno de envío.
-
Verifica que el nombre de host se resuelva correctamente con
nslookup smtp.yourdomain.com. - 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 .
- 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.
-
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é.
¿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.