Tradicionalmente, Unix mail
y sus derivados (y muchas otras herramientas Unix) utilizan la interfaz /usr/bin/sendmail
, proporcionada por casi todos los agentes de transferencia de correo (MTAs - postfix, exim, courier, y por supuesto sendmail).
Es decir, el programa mail
no habla ningún protocolo de red - alimenta el mensaje a sendmail
a través de stdin, y deja que se encargue de la entrega real. (Esto se remonta a los días en que algunos correos usaban SMTP, otros UUCP, otros BITNET…)
Una vez que un mensaje se pone en cola a través de sendmail
, el MTA se encarga de la transmisión real del mensaje, ya sea a través de SMTP o de otra forma. Dependiendo de la configuración, puede conectarse directamente al MTA de destino, o retransmitir el correo a través de otro host (también llamado smarthost).
La conexión directa es más común en los servidores; la retransmisión a través de un smarthost es más común en los ordenadores personales en las conexiones domésticas - la retransmisión a través de su cuenta de correo electrónico de Gmail o ISP/trabajo es esencial para evitar los filtros antispam de “IP dinámica”.
(Algunos MTAs como esmtp
o nullmailer
están construidos específicamente para usuarios domésticos y siempre utilizan un relayhost. Estos no soportan la recepción de correo y son mucho más ligeros en recursos).
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Otros programas, sobre todo los clientes gráficos de fácil uso como Thunderbird o Outlook, siempre se conectan directamente a un servidor SMTP de retransmisión/smarthost (de nuevo, normalmente Gmail o el servidor SMTP del ISP/trabajo), que transmite el mensaje en su nombre.
El soporte SMTP nativo está presente en heirloom-mailx
, pero no en el tradicional bsd-mailx
.
app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
El tercer método - conectar directamente con el servidor del destinatario - no se utiliza casi nunca, y ningún MUA lo soporta. En los ordenadores personales, su uso provocaría el rechazo del mensaje (se envía mucho spam desde direcciones IP de usuarios domésticos infectados).
app → [SMTP] → recipient MTA → caught by the spam filter