ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Postfix

Fehlendes Makro

Das Makro „Getestet“ konnte nicht gefunden werden.

 * [1]: [:Pakete installieren: Installation von Programmen]
 * [2]: [:Terminal: Ein Terminal öffnen]
 * [3]: [:Editor: Einen Editor öffnen]

Einleitung

Damit ein Linux Rechner direkt Emails verschicken kann, muss ein MTA (Mail Transfer Agent 🇩🇪 ) installiert und konfiguriert sein. Der Klassiker unter den MTA ist sendmail, dieser ist jedoch sehr umständlich zu konfigurieren, deshalb hat sich Postfix zum Standard entwickelt.

Im Prinzip könnte man den Postfix-Server aufsetzen und gleich Emails verschicken. Doch leider ist das im Zeitalter von Spam nicht mehr so einfach. Ein SMTP-Server ohne eine feste IP und ohne ordentliche Zertifikate wäre eine ideale Spam-Schleuder. Deshalb aktzeptiert eigentlich kein Email-Server Emails von solchen Servern. Man muss daher die eigenen Emails über einen "ordentlichen" SMTP Server wie z.B. den von web.de und Co. leiten. Für ortsgebundene Rechner bietet sich der Server des eigenen Internet Service Providers an, da dieser meistens keine zusätzliche Authentifizierung erfordert.

Installation

Es muss eigentlich nur ein Paket installiert [1] werden

  • postfix

  • mailx - Optional, um über die Konsole mit dem Befehl mail Mails verschicken zu können

Konfiguration

Anschließend wird man gleich zur Konfiguration von Postfix geleitet. Nur bei drei Fragen muss man von den vorgegebenen Standards abweichen:

General type of configuration?
-> Satellite system
Where should mail for root go?
-> Dein Username
SMTP relay host?
-> smtp.mailanbieter.de

Je nach Ubuntu-Version sehen diese Fragen etwas anders aus. Der wichtigste Punkt ist immer der SMTP-Server. Hat man sich in der Konfiguration vertan, kann man diese im Terminal [2] mit

sudo dpkg-reconfigure postfix

wiederholen. Danach ist die erste Konfiguration von Postfix abgeschlossen. Diese wird in der Datei /etc/postfix/main.cf hinterlegt.

Authentifizierung

Wenn der SMTP-Server zum Versenden der Mail ein Passwort verlangt, muss die eben erstellte Konfiguration /etc/postfix/main.cf allerdings noch einmal editiert [3] und diese Zeilen eingefügt werden:

# Sofern man sich gegen einen externen SMTP-Server authentifizieren
# muss, sind nachfolgende Zeilen notwendig.
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password

Wie in der Config ersichtlich holt Postfix die Zugangsdaten aus der Datei /etc/postfix/sasl_password bzw. aus einer Datenbank, die aus der sasl_password generiert wird; diese muss daher in dieser Art erstellt werden

smtp.mailanbieter.de username:ganzgeheimespasswort

Jetzt muss noch die Datenbank erzeugt werden. Dazu muss man ein Terminalfenster öffnen [2] und den Befehl

sudo postmap /etc/postfix/sasl_password

ausführen. Danach muss man postfix neu starten:

sudo /etc/init.d/postfix restart

Test

Jetzt kann man z.B. mit mail aus dem Paket mailx eine Email verschicken. Der Befehl dazu sieht im Prinzip so aus

mail -s "testbetreff" email@addresse.de < textdatei.txt

Postfix für GMX einrichten

Wer Emails über einen GMX Email Account schicken möchte, muss leider noch etwas mehr Arbeit investieren. Schaut man in die Datei /var/log/mail.log, findet man häufig etwas dergleichen vor:

  ...from=<www-data@$MAILNAME$>...
  ...status=bounced ...Cannot resolve your domain (in reply to MAIL FROM command))

Wobei $MAILNAME$ der String ist, den man beim Konfigurieren von Postfix unter Mailname angegeben hat. Manchmal findet man aber auch Folgendes:

  ... status=bounced ... Sender address does not belong to logged in user ... This server does not accept an empty envelope from

Um mit Postfix auch über GMX Emails versenden zu können, muss man nun einige zusätzliche Schritte ausführen.

main.cf

In der /etc/postfix/main.cf muss man einige Einträge editieren. Eine Beispieldatei findet man hier, damit man einen Überblick bekommt. Die wichtigsten Befehle:

  • Zeile 27ff: canonical und sender_canonical werden benötigt, um die FROM-Adresse für GMX umzuschreiben, siehe unten

  • Zeile 31ff: Diese Werte sind wichtig, damit man später die korrekten Einträge in den canonoical Dateien machen kann

  • Zeile 49ff: Diese smtp-Konfigurationen sollte man setzen, ggf. könnten die oben genannten Werte ausreichen, probiert's aus!

  • Achtung: Zeile 60 muss man den korrekten Pfad angeben. Wenn man diesem Artikel gefolgt ist, müsste dort smtp_sasl_password_maps = hash:/etc/postfix/sasl_password stehen.

sasl_password

In der sasl_password sollte man die die nicht die GMX Benutzer-ID angeben, sondern gleich die GMX Email-Adresse.

mail.gmx.net    email.adresse@gmx.net

Nicht vergessen mit postmap die Datenbank erneut zu erstellen!

canonical / sender_canonical

Viele Email-Anbieter erwarten inzwischen, dass man seine Post mit "richtigen" Absenderadressen verschickt - also nicht ich@localhost oder user@meinrechner. GMX geht sogar so weit, nur die eigene, korrekte GMX-Adresse zu akzeptieren. Deshalb muss man Postfix beibringen, die lokalen Adressen durch die gewünschte offizielle zu ersetzen.

Folgende Zeile muss man dafür in die Datei /etc/postfix/main.cf einfügen:

sender_canonical_maps = hash:/etc/postfix/sender_canonical

Dann erstellt man in einem Editor mit Root-Rechten [3] die Datei /etc/postfix/sender_canonical mit beliebig vielen Zuordnungen, z.B.:

benutzer email.adresse@gmx.net
www-data beispiel@example.com
root email.adresse@gmx.net

Zu guter letzt erstellt man auch aus dieser Datei eine Postfix-Datenbank und lädt die Postfix-Konfiguration im Terminal [2] neu:

sudo postmap /etc/postfix/sender_canonical
sudo /etc/init.d/postfix restart  

Jetzt sollte man eine Email senden (z.B. über mail() in PHP, oder aber über mail im Terminal) und danach die Datei /var/log/mail.log durchlesen und überprüfen ob alles geklappt hat. Hoffentlich steht nun am Ende der Datei dieses:

  ...from=<email@gmx.net>...
   ...to=<xyz@example.com>,... status=sent... Message accepted


  • ["Kategorie/Internet"]

  • ["Kategorie/Netzwerk"]

  • ["Kategorie/Server"]

Diese Revision wurde am 23. Dezember 2006 23:36 von otzenpunk erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, Internet, Email, SMTP