técnico · respuesta con fuentes

Servidor SMTP: definición y aspectos técnicos

Un servidor SMTP es una aplicación que implementa el Simple Mail Transfer Protocol para enviar, recibir y retransmitir mensajes de correo salientes entre clientes y otros servidores. Funciona como una oficina de correos digital: acepta un mensaje de un remitente y lo enruta a través de internet hasta el servidor de correo del destinatario.

Funcionamiento técnico

El proceso empieza cuando un agente de usuario de correo envía una solicitud al servidor SMTP. El servidor usa una serie de comandos: HELO o EHLO para establecer la conexión, MAIL FROM para identificar al remitente y RCPT TO para especificar el destinatario. Una vez emitido el comando DATA, el servidor transmite el cuerpo y los encabezados del mensaje. Si el destinatario pertenece a otro dominio, el servidor consulta el DNS para obtener el registro MX, encuentra el servidor de destino y retransmite el mensaje en consecuencia.

Por qué importa a los remitentes

Los servidores SMTP son fundamentales para que los correos se enruten correctamente y los sistemas receptores los acepten. Una configuración adecuada del servidor, junto con registros de autenticación como SPF y DKIM, evita que los mensajes se marquen como spam. Un servicio de relay SMTP dedicado permite a los desarrolladores gestionar grandes volúmenes de correo transaccional sin poner en riesgo la reputación de su servidor de correo corporativo principal.

Errores operativos comunes

Un error frecuente es usar un puerto equivocado para el tipo de conexión. Los ISP suelen bloquear el puerto 25 para evitar el spam, mientras que el puerto 587 es el estándar para el envío. Otro fallo habitual es prescindir de STARTTLS o de TLS implícito, lo que deja las credenciales y el contenido de los mensajes expuestos en texto sin cifrar. Los desarrolladores también deben asegurarse de guardar sus credenciales SMTP en variables de entorno en lugar de escribirlas directamente en el código fuente de la aplicación.

Ejemplo concreto de implementación

En un entorno Node.js, un desarrollador podría usar una biblioteca como Nodemailer para conectarse a un servidor SMTP. Proporcionaría la dirección del host, como smtp.sendgrid.net, el puerto 587 y un token de autenticación seguro. A continuación, la aplicación envía el objeto del correo al servidor, que se encarga del complejo enrutamiento y de la entrega al destino final. SendHQ ofrece herramientas gratuitas en https://sendhq.cc/tools para ayudarle a gestionar su infraestructura de correo.

Retransmisión frente a envío

Los servidores SMTP suelen funcionar en dos modos. Los servidores de envío (submission) aceptan correo de los usuarios finales y los autentican para verificar la identidad del remitente. Los servidores de retransmisión (relay) mueven el correo entre distintos servidores SMTP de la red. Un servidor de retransmisión que acepta correo de cualquier origen sin autenticación se denomina relay abierto; es un riesgo de seguridad grave y los filtros de correo modernos casi siempre lo bloquean.

Preguntas habituales de los equipos

¿Qué diferencia hay entre SMTP e IMAP?

SMTP se usa exclusivamente para enviar o retransmitir correo saliente. IMAP y POP3 se usan para obtener y gestionar los mensajes de un buzón en un servidor.

¿Qué puerto SMTP debo usar para un envío seguro?

El puerto 587 es el estándar del sector para el envío de correo con STARTTLS. El puerto 465 se usa para TLS implícito, mientras que el puerto 25 se destina principalmente a la retransmisión entre servidores.

¿Por qué mi servidor SMTP rechaza mis correos?

Los rechazos suelen deberse a una autenticación fallida, a una dirección IP incluida en una lista negra o a la falta de registros DNS como SPF y DKIM que verifiquen al remitente.

¿Puedo tener mi propio servidor SMTP?

Sí, pero exige un mantenimiento considerable de la reputación de la IP y de la configuración DNS para evitar que los grandes proveedores lo marquen como spam.

Fuentes primarias