GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Versendet mailx E-Mails über ein SMTP-Relay oder stellt es eine direkte Verbindung zum Ziel-SMTP-Server her?

mailx kann SMTP verwenden. Seine Konfigurationsdatei ist ~/.mailrc

Ein Beispiel ist mailx, das SMTP von Gmail verwendet.

Die Konfiguration kann sogar in einem Befehl enthalten sein:

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

Wenn ein normaler SMTP-Server verwendet wird, ist es viel einfacher (eine ausführliche Einführung finden Sie hier):

mailx -v -s "$EMAIL_SUBJECT" \
-S smtp=smtp://smtp.example.com
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
$TO_EMAIL_ADDRESS

Sie können diese auch in die Konfigurationsdatei von mailx ~/.mailrc

einfügen

Traditionell Unix mail und Derivate (und viele andere Unix-Tools) verwenden den /usr/bin/sendmail Schnittstelle, die von fast allen Mail-Transfer-Agenten (MTAs – postfix, exim, courier und natürlich sendmail) bereitgestellt wird.

Das heißt, die mail Das Programm spricht kein Netzwerkprotokoll – es leitet die Nachricht an sendmail weiter über stdin und überlässt es der eigentlichen Zustellung. (Dies geht auf die Tage zurück, als einige E-Mails SMTP, einige UUCP, einige BITNET verwendeten ...)

Sobald eine Nachricht durch sendmail in die Warteschlange gestellt wird , wickelt der MTA die eigentliche Nachrichtenübertragung ab, sei es über SMTP oder etwas anderes. Je nach Konfiguration kann es sich entweder direkt mit dem Ziel-MTA verbinden oder E-Mails über einen anderen Host (auch Smarthost genannt) weiterleiten.

Auf Servern ist eine direkte Verbindung häufiger; Weiterleitung über Smarthost ist auf PCs mit Heimverbindungen häufiger – die Weiterleitung über Ihr Gmail- oder ISP-/Arbeits-E-Mail-Konto ist unerlässlich, um die pauschalen „dynamischen IP“-Anti-Spam-Filter zu umgehen.

(Einige MTAs wie esmtp oder nullmailer sind speziell für Heimanwender konzipiert und immer Verwenden Sie einen Relayhost. Diese unterstützen den Empfang von E-Mails nicht und sind viel ressourcenschonender.)

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

Andere Programme, meist die benutzerfreundlichen grafischen Clients wie Thunderbird oder Outlook, immer eine direkte Verbindung zu einem Relay/Smarthost-SMTP-Server herstellen (normalerweise wiederum Gmail oder ISP/Arbeits-SMTP-Server), der die Nachricht in Ihrem Namen überträgt.

Native SMTP-Unterstützung ist in heirloom-mailx vorhanden , aber nicht im traditionellen bsd-mailx .

app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox

Die dritte Methode – eine direkte Verbindung zum Server des Empfängers – ist fast nie verwendet, und kein MUA unterstützt es. Auf PCs würde die Verwendung dazu führen, dass Ihre Nachricht abgelehnt wird (viel Spam wird von infizierten IP-Adressen von Heimbenutzern gesendet).

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

Aus dem mailx(1) Manpage, DESCRIPTION Abschnitt, String-Optionen Unterabschnitt:

   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. Verwendung des Plesk Mail Log Browsers

  2. Leichter ausgehender SMTP-Server?

  3. Wie sende ich eine HTML-E-Mail mit dem Linux-Befehl „mail“?

  4. Senden Sie ein Bild im Textkörper der E-Mail mit einem der E-Mail-Dienstprogramme in Linux?

  5. Java Kann keine Verbindung zum X11-Fensterserver herstellen, wenn „localhost:10.0“ als Wert der DISPLAY-Variablen verwendet wird

Herstellen einer Verbindung zu einem Server mithilfe der BMC-Remotekonsolenfunktion

Konfigurieren von DotNetNuke zum Senden von E-Mails mit dem Mail-Relay

So konfigurieren Sie einen SMTP-Mailserver mit Postfix unter Ubuntu 18.04

So senden Sie eine Zeichenfolge mit s_client an den Server

Wie sende ich eine Raw-Mail-Nachricht unter Linux?

Wie sende ich E-Mails mit meinem CentOS-Server?