¿Dónde se implementa el Protocolo simple de transferencia de correo? Para el correo electrónico basado en el navegador, ¿se utilizan HTTP y SMTP para enviar el correo electrónico?

HTTP, SMTP (y otros) son protocolos para comunicarse entre un cliente y un servidor. Para HTTP, el cliente es el navegador, el servidor el servidor web (Apache httpd, MS IIS, Tomcat, etc.)

Una diferencia importante entre HTTP y SMTP es que HTTP es un protocolo PULL (hacer una solicitud, obtener datos) y SMTP es un protocolo PUSH (obtener datos, enviarlo a otro lugar).

Otra diferencia importante fue que SMTP se diseñó explícitamente teniendo en cuenta el reenvío de correo. Si bien es posible que un servidor web use http para solicitar recursos de otro servidor web, este no era un propósito principal del protocolo, mientras que es con SMTP.

Para el correo electrónico, en lugar del navegador, tenemos un agente de correo de usuario (como la interfaz de Gmail de Google o Mozilla Thunderbird, Outlook de Microsoft, correo de Apple, etc.), un agente de transferencia de correo (donde SMTP encaja, al igual que UUCP-Mail y BITNET Mail), y un Agente de entrega de correo (algo que acepta correo para un usuario final o grupo y lo almacena, parte de la infraestructura del lado del servidor Gmail de Google también lo satisface).

SMTP * podría * ser utilizado por un Agente de usuario de correo para enviar correo a un Agente de transferencia de correo. Es muy probable que un Agente de transferencia de correo use SMTP para transferir correo a otro Agente de transferencia de correo, o posiblemente a un Agente de entrega de correo.

Ningún agente de usuario de correo utiliza SMTP para recibir correo de un usuario. Se comunican con un agente de entrega de correo a través de cualquier medio apropiado. Hay una serie de protocolos (POP3, IMAP) que permiten esto, pero también hay métodos patentados.

Casi todo SMTP es entre servidores. SMTP puede ser utilizado por un Agente de usuario de correo para entregar el correo de la estación de trabajo de escritorio del usuario a un servidor, pero nunca se usa de otra manera. (De hecho, la mayoría de los ISP bloquean SMTP simple del cliente para reducir el correo no deseado, y los Agentes de usuarios de correo de escritorio usarán SMTP autenticado u otro protocolo).

El navegador solo ejecuta JavaScript desde el servidor. Envía su mensaje de correo electrónico al servidor como un formulario, utilizando HTTP. El trabajo SMTP lo realiza el servidor, en función del contenido de su formulario.

La interfaz del navegador es esencialmente un “control remoto” para un agente de usuario de correo (MUA) que vive en el servidor web. La conexión SMTP se origina en el servidor donde vive el servicio web, o un servidor cercano que trabaja en conjunto con él.

Yahoo es el único servicio de correo electrónico que conozco que informa la dirección IP de la interfaz de usuario HTTP de origen en los encabezados de correo.