¿Cómo funciona el Protocolo simple de transferencia de correo SMTP?

El Protocolo simple de transferencia de correo (SMTP) funciona facilitando la transferencia de mensajes de correo electrónico entre servidores. Cuando se envía un correo electrónico, el cliente SMTP del lado del remitente establece una conexión con el servidor SMTP, normalmente mediante TCP. Luego, el cliente y el servidor se comunican mediante una serie de comandos y respuestas para transferir el correo electrónico. El proceso implica que el cliente se identifique, especifique las direcciones del remitente y del destinatario y transmita el contenido del mensaje. Luego, el servidor reenvía el correo electrónico al servidor de correo electrónico del destinatario o lo almacena hasta que el destinatario lo recupera.

El protocolo SMTP opera a través de un conjunto de etapas definidas: establecimiento de la conexión, transacción de correo y terminación de la conexión. Inicialmente, el cliente establece una conexión TCP con el servidor, generalmente en el puerto 25. El cliente envía un comando HELO o EHLO al servidor, que responde con un saludo. Luego, el cliente emite un comando MAIL FROM para especificar la dirección de correo electrónico del remitente, seguido de comandos RCPT TO para especificar los destinatarios. Después de que el servidor reconoce estos comandos, el cliente envía un comando de DATOS para iniciar la transmisión del contenido del correo electrónico. El mensaje se envía y finaliza con un único punto en una nueva línea. El servidor acusa recibo del mensaje y el cliente envía un comando SALIR para cerrar la conexión.

SMTP normalmente utiliza el puerto 25 para la comunicación entre servidores de correo. Para transmisiones cifradas mediante SSL/TLS, se suele utilizar el puerto 465. Otro puerto común para SMTP con cifrado STARTTLS es el puerto 587, que se recomienda para el envío de correo electrónico de cliente a servidor para garantizar una transmisión segura.

El Protocolo simple de transferencia de correo incluye varios comandos utilizados durante el proceso de transmisión de correo electrónico. Los comandos clave incluyen HELO o EHLO para identificar al cliente en el servidor, MAIL FROM para especificar la dirección del remitente, RCPT TO para especificar la dirección del destinatario, DATA para comenzar la transferencia del contenido del correo electrónico, RSET para restablecer la transacción de correo actual, VRFY para verificar una dirección de correo electrónico, EXPN para expandir una lista de correo y SALIR para finalizar la sesión. Cada comando va seguido de una respuesta del servidor que indica el éxito o el fracaso de la operación.