¿Qué es SMTP y para qué sirve?
En este post te vamos a explicar qué es SMTP, uno de los protocolos esenciales para la transferencia de correo electrónico. Dentro de todos los protocolos existentes para el correo electrónico es el que permite enviar los mensajes entre servidores. Vamos a detallar todo lo que necesitas saber sobre SMTP, describiendo las particularidades necesarias para entender este estándar de comunicación.
- ¿Qué es el protocolo SMTP (Simple Mail Transfer Protocol)?
- Funcionamiento del SMTP
- Características principales de SMTP
- Usos comunes del SMTP en el desarrollo web
- Ventajas del uso de SMTP
- Protocolos relacionados con SMTP
- Comparación entre SMTP, POP3 e IMAP y sus respectivos roles en la comunicación por correo electrónico
¿Qué es el protocolo SMTP (Simple Mail Transfer Protocol)?
El Protocolo SMTP responde a las siglas en inglés de Simple Mail Transfer Protocol. Es un protocolo de comunicación basado en texto, que permite la transferencia de correos electrónicos a través de redes como Internet. Fue desarrollado en la década de 1980 y se ha mantenido como uno de los protocolos más importantes para la transmisión de correo electrónico.
Funcionamiento del SMTP
Los protocolos en general consisten en una serie de comandos y respuestas que deben darse para las comunicaciones entre componentes de las aplicaciones de red, principalmente entre clientes y servidores. SMTP, por tanto, no es más que esto: la definición de los pasos que deben seguir los servidores para la transmisión de un mensaje de email, de modo que se pueda garantizar la correcta entrega de los correos. Este protocolo utiliza de manera estándar dos puertos:
- El puerto 25 para la comunicación entre servidores
- El puerto 587 para la comunicación autenticada desde los clientes de correo.
Ahora vamos a describir con mayor detalle el proceso de envío de mensajes mediante el protocolo SMTP.
Proceso de envío de correos electrónicos mediante SMTP
El proceso de envío de correos electrónicos mediante SMTP consiste en varias etapas que podemos resumir en estos puntos.
- Todo comienza mediante la conexión del cliente al servidor SMTP, para iniciar la transmisión del mensaje. El cliente es el programa que tenemos instalado en nuestro ordenador con el que hemos compuesto el mensaje.
- Una vez conectados, se realiza el envío del mensaje. Para ello se indica tanto el remitente como el destinatario, o los destinatarios, así como el cuerpo del mensaje.
- Durante el proceso de transmisión, el servidor SMTP que utilizamos para enviar los mensajes recibe el contenido. Debe procesarlo y almacenarlo temporalmente, antes de entregarlo al servidor SMTP del destinatario final.
- Luego, el servidor SMTP de origen deberá realizar una conexión con el servidor SMTP de destino, para entregar finalmente el mensaje.
Una vez el mensaje está en el servidor de destino generalmente se utilizan otros protocolos para que la persona que debe recibir los mensajes los descargue en su ordenador. Esos protocolos son generalmente POP3 o IMAP, de los que hablaremos más tarde.
Roles de los servidores involucrados en el proceso SMTP
Como habrás podido entender con la lectura del punto anterior, en el proceso de envío de los emails a través de SMTP tenemos dos roles de servidores.
- Servidor SMTP de envío.
- Servidor SMTP de recepción.
Generalmente a estos agentes se les denomina MTA, Mail Transfer Agent.
Autenticación y seguridad en el SMTP
Es muy común que la transferencia de la información se realice por medios seguros. Para ello tenemos varios mecanismos de encriptación y autenticación entre los que destacan:
- STARTTLS, que permite la encriptación de la conexión SMTP mediante TLS
- SMTP AUTH que requiere que el cliente se autentique mediante un nombre de usuario y una contraseña
Transferencia de mensajes entre servidores SMTP
Durante la transferencia de los mensajes mediante el protocolo SMTP se realizan una serie de comandos específicos, que incluyen tanto el propio comando como la respuesta que dará el servidor de recepción. Estos comandos son en resumen HELO, MAIL FROM, RCPT TO, DATA, y QUIT.
Protocolos complementarios utilizados junto con SMTP
Como hemos mencionado anteriormente, el sistema de correo electrónico funciona con la ayuda o colaboración de otros protocolos, principalmente los que permiten a los clientes descargar la lista de correos que existe en el servidor, con su contenido.
- IMAP (Internet Message Access Protocol), es un protocolo que permite acceder y gestionar los mensajes de correo electrónico de manera remota. Su particularidad consiste en que los mensajes no se borran del servidor aunque el usuario los haya leído, hasta que no se deciden borrar de manera explícita.
- POP3 (Post Office Protocol 3), es un protocolo que permite descargar los mensajes al ordenador del cliente. Su particularidad en este caso consiste en que los mensajes son eliminados del servidor en el momento de la descarga.
Al final de este post vamos a detallar estos protocolos complementarios con más información.
Características principales de SMTP
SMTP ofrece varias características que vamos a resumir en los siguientes puntos.
Seguridad y autenticación
Gracias a los protocolos de autenticación y encriptación que permite utilizar SMTP, las comunicaciones pueden realizarse de manera segura y confidencial.
Fiabilidad en la entrega de correos electrónicos
El protocolo SMTP incluye mecanismos de control de errores, enfocados en asegurar que los correos electrónicos se han entregado de manera correcta. Si se encuentran problemas a la hora de verificar los mensajes, incluye mecanismos de reintento y notificación de errores.
Flexibilidad y compatibilidad con diferentes clientes de correo
El protocolo SMTP es prácticamente un estándar, por tanto es compatible con la mayor parte de los clientes de correo y servidores.
Eficiencia en la transferencia de mensajes
Además de todo lo anterior, SMTP es un protocolo diseñado para ser eficiente en la transmisión de los mensajes a través de las redes basadas en TCP/IP, como Internet.
Funcionamiento independiente del tipo de contenido o formato del mensaje
Por último cabe mencionar la variedad de tipos de contenido y formatos de mensajes soportados por SMTP, desde mensajes con texto plano hasta mensajes HTML. También permite la transferencia de archivos adjuntos. Por todo ello se considera un protocolo versátil y adaptable a las necesidades más comunes.
Usos comunes del SMTP en el desarrollo web
Aparte de usar SMTP para el envío de correo mediante los típicos programas de mensajería, dentro del contexto del desarrollo web SMTP puede tener diversos usos comunes.
Envío de correos electrónicos desde aplicaciones y servidores
Las aplicaciones y servicios web utilizan los servidores de SMTP para enviar correos electrónicos transaccionales. Prácticamente cualquier sitio web requiere estas habilidades para funcionalidades típicas como recordar la clave o verificar la veracidad del correo de los usuarios. Además, ya dependiendo del tipo de aplicación, pueden existir notificaciones adicionales, como las confirmaciones de pedidos en las tiendas de correo electrónico.
Integración con formularios de contacto en sitios web
Cuando queremos poner un formulario de contacto en una página web generalmente usamos sistemas de envío que no requieran la necesidad de que el usuario tenga configurado un programa de correo en su ordenador. Para ello, la página web debe procesar el formulario, componer el mensaje y enviarlo a través de un servidor SMTP, que generalmente está instalado en el propio servidor.
Automatización de mensajes y notificaciones por correo electrónico
Otra funcionalidad habitual de las aplicaciones es la automatización de mensajes. Esto puede ocurrir con confirmaciones de citas, recordatorios de eventos agendados, envío de alertas en sistemas de monitorización, etc.
Ventajas del uso de SMTP
El uso de SMTP ofrece algunas ventajas importantes a la hora de transmitir los mensajes de correo electrónico.
Velocidad y eficiencia en la entrega de correos electrónicos
Gracias a las características de SMTP podemos obtener una alta velocidad en la entrega de los correos electrónicos, realizando la transferencia en cuestión de segundos y con mínima latencia.
Seguridad y autenticación integradas
Como hemos señalado antes, las capacidades de seguridad y autenticación integradas en SMTP, como STARTTLS y SMTP AUTH, garantizan que los correos electrónicos se envíen de manera segura y confidencial.
Fiabilidad en la entrega de mensajes
Gracias a los mecanismos de gestión de errores que señalamos anteriormente, SMTP permite una gran fiabilidad en la entrega de los correos electrónicos.
Flexibilidad para enviar correos desde diferentes dispositivos y plataformas
SMTP está tremendamente extendido, por lo que prácticamente cualquier dispositivo y plataforma ofrece la posibilidad de usar este protocolo para la transferencia de mensajes.
Adaptabilidad a las necesidades de comunicación de diferentes tipos de organizaciones
Gracias a la versatilidad de SMTP, cualquier tipo de usuario, ya sea particular o usuarios de empresas de cualquier tamaño, es capaz de utilizar el protocolo para sus necesidades de comunicación.
Protocolos relacionados con SMTP
Ya para terminar vamos a ver algunos protocolos relacionados con SMTP para la comunicación de los mensajes de correo electrónico.
POP3 (Post Office Protocol)
Comenzamos con POP3, que es uno de los dos protocolos que se suelen utilizar para recuperar los email que se encuentran en el servidor. La particularidad de POP3 es que, en el momento de descargar los correos del servidor los elimina también. Esto permite mantener las cuentas de correo electrónico libres de mensajes, lo que nos asegura que haya espacio disponible para nuevos envíos que puedan llegar en adelante. También es muy útil cuando queremos ver los mensajes sin tener conexión a Internet.
IMAP (Internet Message Access Protocol)
El otro protocolo que se suele utilizar para la recepción de los correos electrónicos es IMAP. La particularidad de IMAP consiste en que los correos electrónicos no se eliminan del servidor por el hecho de leerlos. Es el usuario el que los tiene que eliminar explícitamente cuando ya no desea que ocupen espacio en su cuenta de correo.
IMAP es interesante cuando queremos mantener un archivo histórico de los mensajes que intercambiamos a lo largo del tiempo y cuando queremos sincronizar el email con distintos dispositivos. Sin embargo, requiere más espacio en el servidor para el almacenamiento y también es necesario tener conexión a Internet para acceder a nuestros correos.
Comparación entre SMTP, POP3 e IMAP y sus respectivos roles en la comunicación por correo electrónico
Con todo lo explicado hasta este punto debemos tener claras las ideas en lo que respecta a los distintos protocolos utilizados para la gestión del correo electrónico. De todos modos, lo vamos a resumir a continuación.
- SMTP: Se utiliza exclusivamente para enviar correos electrónicos desde el cliente al servidor y entre servidores. Para recuperar los mensajes debemos utilizar otros protocolos.
- POP3: Se utiliza para descargar correos electrónicos desde el servidor al cliente local. Después de esta transferencia el mensaje de correo permanece en el ordenador donde se ha descargado y se elimina del servidor de correo.
- IMAP: Lo utilizamos cuando queremos realizar el acceso y la gestión de correos electrónicos directamente en el servidor, manteniendo los mensajes sincronizados en múltiples dispositivos y sin descargarlos ni eliminarlos del servidor de correo.