Solución:
mailx puede utilizar SMTP. Su archivo de configuración es ~ / .mailrc
Un ejemplo es mailx usando el SMTP de Gmail.
La configuración puede incluso estar en un comando:
mailx -v -s "$EMAIL_SUBJECT"
-S smtp-use-starttls
-S ssl-verify=ignore
-S smtp-auth=login
-S smtp=smtp://smtp.gmail.com:587
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)"
-S smtp-auth-user=$FROM_EMAIL_ADDRESS
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD
-S ssl-verify=ignore
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/
$TO_EMAIL_ADDRESS
Si se utiliza un servidor SMTP normal, es mucho más fácil (consulte una introducción detallada aquí):
mailx -v -s "$EMAIL_SUBJECT"
-S smtp=smtp://smtp.example.com
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)"
$TO_EMAIL_ADDRESS
También puede ponerlos en el archivo de configuración de mailx ~ / .mailrc
Tradicionalmente, Unix mail
y derivados (y muchas otras herramientas de Unix) utilizan el /usr/bin/sendmail
interfaz, proporcionada por casi todos los agentes de transferencia de correo (MTA: postfix, exim, courier y, por supuesto, sendmail).
Eso es el mail
El programa no habla ningún protocolo de red; envía el mensaje a sendmail
a través de stdin y le permite manejar la entrega real. (Esto se remonta a los días en que algunos correos usaban SMTP, algunos usaban UUCP, algunos usaban BITNET …)
Una vez que un mensaje se pone en cola sendmail
, el MTA maneja la transmisión de mensajes real, ya sea a través de SMTP o algo más. 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 smarthost es más común en computadoras personales en 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 anti-spam generales de “IP dinámica”.
(Algunos MTA como esmtp
o nullmailer
están construidos específicamente para usuarios domésticos y siempre utilizar un servidor de retransmisión. Estos no admiten la recepción de correo y son mucho más livianos 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, principalmente los clientes gráficos fáciles de usar como Thunderbird u Outlook, siempre conéctese directamente a un servidor SMTP de retransmisión / smarthost (nuevamente, generalmente Gmail o ISP / servidor SMTP del trabajo), que transmite el mensaje en su nombre.
El soporte nativo SMTP 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, conectarse directamente al servidor del destinatario, es casi Nunca utilizado, y ningún MUA lo admite. En computadoras personales, usarlo haría que su mensaje fuera rechazado (se envía una gran cantidad de spam desde direcciones IP de usuarios domésticos infectados).
app → [SMTP] → recipient MTA → caught by the spam filter
Desde el mailx(1)
página de manual, DESCRIPCIÓN sección, Opciones de cadena subsección:
smtp Normally, mailx invokes sendmail(8) directly to transfer
messages. If the smtp variable is set, a SMTP connection
to the server specified by the value of this variable is
used instead.