Wie kann ich einen Mail Transfer Agent einrichten?

17

Ich möchte muttautomatisierte E-Mails über cronoder atmit Anhängen an meine Google Mail-Adresse senden, wenn bestimmte Ereignisse auf meinem Ubuntu-Server eintreten. Derzeit muttkann keine E-Mail an externe E-Mail-Adressen gesendet werden. Ich glaube, dies liegt daran, dass ich einen E-Mail-Transfer-Agenten einrichten muss. Wie wähle ich einen geeigneten MTA aus und wie richte ich ihn ein, um das auszuführen, wofür ich ihn benötige?

conorgriffin
quelle
1
Sie brauchen keinen Köter, um cron zu haben oder E-Mails an Ihr Google Mail-Konto zu senden. Jeder richtig konfigurierte MTA sollte dafür ausreichen.
17.
Ich muss in der Lage sein, der ausgehenden Mail Anhänge beizufügen, also dachte ich, ich würde dafür Mutt brauchen.
Conorgriffin
1
Dies ist eine wichtige Frage. Viele von uns richten Linux-Server ein und benötigen eine Möglichkeit, Ereignisse und Berichte zu versenden. In vielen (den meisten!) Fällen ist ein ausgebauter Mailserver überfordert. Ich habe kürzlich erfahren, dass Postfix für eine solche Aufgabe eingerichtet wurde. Ich hätte ein solches Nur-Senden-Tool einrichten sollen, und ich werde es in Zukunft tun.
Don Faulkner

Antworten:

20

Bei der Auswahl eines zu installierenden MTA müssen einige Optionen ausgewählt werden. Die erste ist, ob Sie einen Nur-Senden- MTA oder einen vollwertigen Mail-Server benötigen.

Dieser Unix.SE-Beitrag enthält eine umfassende Liste der verfügbaren Nur-Send-MTAs. Alle sind bereits für Ubuntu 10.10 gepackt. Es gibt einige Punkte, die Sie bei der Auswahl eines Nur-Senden-MTA berücksichtigen sollten:

  1. ob es im Fehlerfall E-Mails für eine spätere Zustellung in die Warteschlange stellen kann: IIRC, nullmailerkann dies nur.

  2. ob es den System Mail Delivery Agent ersetzen soll (suchen Sie nach einer Zeile Provides: mail-transport-agentin der Ausgabe von apt-cache show package). Wenn dies der Fall ist, werden alle vom System stammenden E-Mails (einschließlich Berichten über Cron-Jobs, Popularitätsstatistiken usw.) von dem von Ihnen installierten MTA verarbeitet. Wenn Sie keine korrekten E-Mail-Aliase für Root- und andere Benutzer eingerichtet haben, wird die E- Mail-Adresse verwendet Möglicherweise wird die Nachricht an die falsche Adresse gesendet (normalerweise ein Sysadmin bei Ihrem Internetdienstanbieter). Derzeit Pakete nullmailer, esmtp-run(aber nicht esmtp) und ssmtpfallen in diese Kategorie.

  3. Alle Nur-Senden-MTAs leiten Ihre E-Mails einfach an einen anderen Server weiter ("Relay-Host" oder "Smarthost", normalerweise der SMTP-Server Ihres Internetdienstanbieters) und lassen dann alle Details der tatsächlichen Internet-E-Mail-Zustellung zu. Sie müssen herausfinden, ob besondere Anforderungen für die Verbindung zum ISP-Server bestehen (z. B. eine Art Authentifizierung oder TLS), und einen MTA auswählen, der die erforderlichen Funktionen unterstützt (z. B. ssmtpkeine Art Authentifizierung oder SSL / TLS).

Vollwertige Mailserver umfassen exim , postfix und sendmail . Das Installationsskript für Debian / Ubuntu nach der Installation leistet hervorragende Arbeit, um eine funktionierende Konfiguration für einige gängige Setups zu erstellen (Zustellung von E-Mails nur an das lokale System; Senden von E-Mails über einen "Smarthost" - dh einen von Ihnen genutzten Mailserver alle Ihre E-Mails durch, in der Regel der SMTP-Host Ihres ISP (Internet-Site mit vollständiger Konnektivität für eingehende und ausgehende E-Mails). Nach meinem Dafürhalten ist Postfix am einfachsten auszuführen und zu konfigurieren, aber da es so leistungsfähig ist, ist sein Konfigurationshandbuch viel länger als jedes reine Sende-MTA.

Darüber hinaus besteht beim Einrichten eines Mail-Servers das reale Risiko, dass bei einem Fehler in der lokalen Konfiguration E-Mails an den falschen Ort (gelesen: verloren) oder - schlimmer noch - mit einem Open-Relay-System gesendet werden Dies kann von Spammern verwendet werden (und vertrauen Sie mir, sie können ein offenes Relay finden, bevor Sie feststellen, dass es sich bei Ihrem Server um einen handelt).

Mein Rat wäre dann, mit einem Nur-Senden-MTA zu beginnen und dann nur dann auf einen vollständigen Mail-Server zu aktualisieren, wenn Sie dies für erforderlich halten (was nicht der Fall ist, wenn Sie nur E-Mails an Ihre GMail-Adresse senden möchten).

Riccardo Murri
quelle
OK, nehmen wir an, ich richte eine E-Mail-Adresse wie [email protected] ein und aktiviere smtp für das Google Mail-Konto. Ich könnte ein Client-Programm auf dem Server so konfigurieren, dass E-Mails mit diesem Google Mail-Konto über SMTP gesendet werden.
Conorgriffin
@Griffo: Ja, genau das macht ein "Nur Senden" -MTA. Verwenden Sie einfach msmtp(wie in der Antwort von ixtmixilix vorgeschlagen) oder wählen Sie eine aus der Liste unter der oben angegebenen URL aus.
Riccardo Murri
+1 für nullmailer ... Ich verwende es auf meinen Servern und es ist sehr praktisch. Sehr leicht, relativ einfach einzurichten. Und sobald es funktioniert, müssen Sie sich nicht mehr darum kümmern :)
Little Jawa
Auch mda (The DragonFly Mail Agent) kann E-Mails für eine spätere Zustellung in die Warteschlange stellen.
Tomasz Zieliński
Es ist DMA, nicht MDA (The DragonFly Mail Agent).
Andreas J.
6

Ich würde empfehlen msmtp. Das Einrichten anderer Mail-Systeme, wie z. B. sendmail, ist auf jeden Fall ein ziemlicher Aufwand. Sobald Sie msmtpSetup haben, können Sie es mit verwenden muttund Sie können es auch maskieren, sendmaildamit Programme den Unterschied zwischen den beiden MTAs nicht kennen. Alle Details finden Sie auf der Website.

ixtmixilix
quelle
3

Die folgenden Links enthalten alle MTA-Optionen, die Sie je nach Ubuntu-Version auswählen können:

http://packages.ubuntu.com/precise/mail-transport-agent (für 12.04)
http://packages.ubuntu.com/trusty/mail-transport-agent (für 14.04)

Ich persönlich habe festgestellt, dass ssmtpdas Einrichten und Ausführen sehr einfach ist. Nur zwei Befehle reichen aus:

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp
Tomofumi
quelle
1
Laut ArchLinux-Wiki wird ssmtp nicht mehr gepflegt und es wird msmtp empfohlen .
Sebastian-C