Cómo funciona un servidor SMTP

Cada vez que envías un correo electrónico, tu cliente de correo local ( Thunderbird, Outlook, etc ) interactúa con el servidor SMTP de tu proveedor que administra el envío.  El servidor SMTP de tu proveedor de hospedaje web puede ‘conversar’ con otros servidores SMTP para entregar este correo.

Imaginemos que envías un correo. Uso un cliente de correo del tipo Outlook Express. Mi correo es juan@cafetero100.com y quiero enviar el mensaje al correo de rafael@domain-s-mart.com. A continuación se describe lo que sucede:

  • 1. Outlook Express se conecta al servidor SMTP de mail.cafetero100.com usando el puerto 25 ( ó 26 según el caso ).
  • 2. Outlook Express ‘conversa’ con el servidor SMTP y le indica la dirección del que envía y la dirección del que recibe, así como el cuerpo del mensaje.
  • 3. El servidor SMTP toma la dirección en ‘PARA’ ( en este caso rafael@domain-s-mart.com ) y la divide en dos partes: el nombre del destinatario ( rafael ) y el nombre de dominio ( domain-s-mart.com ). Si el destinatario PARA hubiera sido otro usuario dentro del dominio cafetero100.com, el servidor SMTP hubiera simplemente pasado el mensaje al servidor POP3 de cafetero100.com  haciendo uso de un programa llamado delivery agent. Debido a que el destinatario se encuentra en otro dominio, el SMTP tiene que comunicarse con ese dominio.
  • 4. El servidor SMTP ‘conversa’ con un Domain Name Server, o DNS.  Lo primero que solicita es la dirección IP del servidor SMTP del dominio domain-s-mart.com. Los DNS responden con una o más direcciones para el servidor SMTP que opera domain-s-mart.com.
  • 5. El servidor SMTP de cafetero100.com se conecta con el servidor SMTP de domain-s-mart.com usando el puerto 25 ( o el 26, incluso el 587, dependiendo de lo que indique tu proveedor de hospedaje web o internet ). El tipo de comunicación es exactamente el mismo que el cliente de correo Outlook Express tuvo con el primer servidor SMTP, y entrega el mensaje al servidor SMTP de domain-s-mart.com. El servidor SMTP de domain-s-mart.com reconoce que el dominio de rafael es domain-s-mart.com, y procede a entregar el mensaje al servidor POP3, el cual realiza el depósito del mensaje en el buzón de rafael.

Si por alguna razón, el servidor SMTP de cafetero100.com no se puede conectar con el de domain-s-mart.com, el mensaje entra en una cola de espera o queue.  El servidor SMTP de la mayoría de equipos usa un programa llamado sendmail para realizar los envíos, y es por eso que esa lista de espera se llama sendmail queue. Sendamail intentará reenviar los mensajes de su cola de espera, por ejemplo, puede intentarlo cada 15 minutos. Después de cuatro horas, por lo general enviará un mensaje indicando que hubo algún tipo de problema ( en el caso no haya sido enviado el correo ). Después de cinco días, la mayoría de configuración de sendmail se dan por vencidos y returnará el correo como no entregado. Esto por supuesto puede variar.

El servidor SMTP entiende comandos simples de texto, tales como HELLO, MAIL, RCPT y DATA.