Simple Mail Transfer Protocol (SMTP) es un protocolo de comunicación estándar para el envío de mensajes de correo electrónico en redes empresariales y en Internet. SMTP fue desarrollado originalmente a principios de los años 80 y sigue siendo uno de los protocolos más populares en uso en todo el mundo.
El software de correo electrónico utiliza más comúnmente SMTP para el envío y los protocolos de Protocolo de oficina de correos 3 (POP3) o Protocolo de acceso a mensajes de Internet (IMAP) para la recepción de correo. A pesar de su antigüedad, no existe una alternativa real al SMTP en el uso convencional.
Cómo funciona SMTP
Todos los programas modernos de cliente de correo electrónico son compatibles con SMTP. La configuración SMTP que se mantiene en un cliente de correo electrónico incluye la dirección IP de un servidor SMTP (junto con las direcciones de un servidor POP o IMAP para recibir correos electrónicos). Los clientes basados en la Web incrustan la dirección de un servidor SMTP dentro de su configuración, mientras que los clientes de PC proporcionan configuraciones SMTP que permiten a los usuarios especificar el servidor de su elección.
Un servidor SMTP físico puede estar dedicado a atender sólo el tráfico de correo electrónico, pero a menudo se combina con al menos POP3 y, a veces, con otras funciones de servidor proxy.
SMTP se ejecuta sobre TCP/IP y utiliza el puerto TCP número 25 para la comunicación estándar. Para mejorar el SMTP y ayudar a combatir el spam en Internet, los grupos de estándares también han diseñado el puerto TCP 587 para soportar ciertos aspectos del protocolo. Algunos servicios de correo electrónico web, como Gmail, utilizan el puerto TCP 465 no oficial para SMTP.
Comandos SMTP
El estándar SMTP define un conjunto de comandos – nombres de tipos específicos de mensajes que envían clientes al servidor de correo cuando se solicita información. Los comandos más utilizados son:
- HELO y EHLO : Comandos que inician una nueva sesión de protocolo entre cliente y servidor. El comando EHLO les pide que respondan con cualquier extensión SMTP opcional que soporte
- MAIL : Comando para iniciar el envío de un mensaje de correo electrónico
- RCPT : Comando para proporcionar una dirección de correo electrónico para un destinatario del mensaje actual que se está preparando
- DATA : Comando que indica el inicio de la transmisión del mensaje de correo electrónico. Este comando inicia una serie de uno o más mensajes de seguimiento, cada uno de los cuales contiene una parte del mensaje. El último mensaje de la secuencia está vacío (contiene sólo un punto (.) como carácter de terminación) para indicar el final del correo electrónico.
- RSET : Durante el proceso de envío de un correo electrónico (después de emitir el comando MAIL), cualquiera de los extremos de la conexión SMTP puede restablecer la conexión si encuentra un error
- NOOP : Un mensaje vacío («sin operación») diseñado como una especie de ping para comprobar la capacidad de respuesta del otro extremo de la sesión
- QUIT : Termina la sesión de protocolo
El destinatario de estos comandos responde con números de código de éxito o de error.
Problemas con SMTP
SMTP carece de funciones de seguridad incorporadas. Los spammers de Internet han sido capacitados para explotar SNMP en el pasado, generando grandes cantidades de correo basura y enviándolas a través de servidores SMTP abiertos. La protección contra el spam ha mejorado con los años, pero no son infalibles. Además, SMTP no impide que los spammers configuren (mediante el comando MAIL) direcciones de correo electrónico falsas ‘De:’.