GNU/Linux >> Tutoriales Linux >  >> Linux

¿mailx envía correo usando una retransmisión SMTP o se conecta directamente al servidor SMTP de destino?

mailx puede usar 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 (ver 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 colocarlos en el archivo de configuración de mailx ~/.mailrc


Tradicionalmente, Unix mail y derivados (y muchas otras herramientas de Unix) usan el /usr/bin/sendmail interfaz proporcionada por casi todos los agentes de transferencia de correo (MTA:postfix, exim, courier y, por supuesto, sendmail).

Es decir, 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 a través de sendmail , el MTA maneja la transmisión de mensajes reales, ya sea a través de SMTP o de otra manera. Según la configuración, puede conectarse directamente al MTA de destino o retransmitir el correo a través de otro host (también llamado host inteligente).

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 antispam de "IP dinámica" general.

(Algunos MTA como esmtp o nullmailer están diseñados específicamente para usuarios domésticos y siempre usa 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 o Outlook, siempre conéctese directamente a un servidor SMTP de retransmisión/host inteligente (nuevamente, generalmente Gmail o ISP/servidor SMTP de trabajo), que transmite el mensaje en su nombre.

La compatibilidad con 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, conectarse directamente al servidor del destinatario, es casi nunca. utilizado, y ningún MUA lo admite. En las computadoras personales, su uso haría que su mensaje fuera rechazado (se envía una gran cantidad de spam desde las direcciones IP de los usuarios domésticos infectados).

app → [SMTP] → recipient MTA → caught by the spam filter

Desde el mailx(1) página man, 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.

Linux
  1. Uso del Navegador de registros de correo de Plesk

  2. ¿Cómo enviar correo a través de un servidor SMTP externo usando el comando mailx en Linux?

  3. ¿Servidor Smtp saliente ligero?

  4. ¿Cómo enviar un correo electrónico Html usando el comando 'mail' de Linux?

  5. ¿Enviar una imagen en el cuerpo del correo usando cualquiera de las utilidades de correo en Linux?

Cómo conectarse a un servidor mediante la función de consola remota de BMC

Configuración de DotNetNuke para enviar correo electrónico mediante Mail Relay

Cómo configurar un servidor de correo SMTP con Postfix en Ubuntu 18.04

Cómo enviar una cadena al servidor usando s_client

¿Cómo enviar un mensaje de correo sin procesar en Linux?

¿Cómo enviar correo electrónico con mi servidor CentOS?