El servicio ESMTP (por sus siglas en inglés – Enhanced Simple Mail Transfer Protocol), es una definición de extensiones de protocolo para el estándar SMTP. El formato de extensión fue definido en el RFC 1869 en 1995.
Este RFC estableció una estructura para todas las extensiones existentes y futuras con el fin de producir una manera consistente y manejable por la cual los clientes y servidores SMTP puedan ser identificados y los servidores SMTP puedan señalar las extensiones soportadas a los clientes conectados.
Cada extensión de servicio es definida en un formato aprobado con su consiguiente RFC y registrada con la IANA. Las primeras definiciones fueron los servicios opcionales de la RFC 821 – SEND, SOML (Send Or Mail), SAML (Send And Mail), EXPN, HELP, y TURN. El formato para los verbos adicionales SMTP fue establecido y para nuevos parámetros en MAIL y RCPT.
La característica de identificación principal para ESMTP es que los clientes abren una transmisión con el comando EHLO (Extended HELLO) en lugar de HELO (el Hello original del estándar RFC 821). Un servidor puede por tanto responder con éxito (código 250), falla (código 550) o error (códigos 500, 501, 502, 504 o 421), dependiendo de su configuración. Un servidor ESMTP respondería el código 250 OK en una respuesta de varias líneas con su dominio y una lista de palabras clave para indicar las extensiones soportadas. Un servidor sumiso del RFC821 retornaría el código de error 500, permitiendo al cliente ESMTP intentar tanto HELO como QUIT.