Postfix/Smarthost
topic kurze Beschreibung
Beschreibung
Als SMTP-Relay-Server, Mail-Relay-Server oder Smarthost wird ein Mail-Server (B) bezeichnet, der von einem Sender (A) E-Mails annimmt und an beliebige Dritte (C) weiterleitet.
- A (Sender) → B (Relay-Server) → C (Empfänger)
Ein korrekt konfigurierter SMTP-Relay-Server (Smarthost) leitet E-Mails nur dann weiter, wenn er
- entweder für Mails von A zuständig ist
- Beispiel: ein Kunde (A) darf über den Mailserver seines Providers Mails an beliebige Empfänger (C) versenden.
- und/oder für Mails an C zuständig ist
- Beispiel: Der Mailserver einer Firma (C) nimmt Mails von beliebigen Absendern (A) entgegen.
Ein unsicher konfigurierter SMTP-Relay-Server ist ein sogenanntes Offenes Mail-Relay und leitet auch E-Mails weiter, bei denen er weder für A noch für C zuständig ist. Solche Mailserver werden von Spamversendern zum massenhaften Spam-Versand missbraucht und werden daraufhin häufig auf Blacklists wie DNSBLs gesetzt. Nicht nur tatsächliche Mailserver, sondern auch Mitglieder von Botnetzen können offene Relays darstellen.
Installation
Anwendungen
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Einsatz
Relay-Server für E-Mail-Programme
SMTP-Relay-Server werden vor allem von E-Mail-Programmen verwendet, um E-Mails zu versenden. In bestimmten Fällen ist hierzu eine Anmeldung notwendig, vgl. SMTP-Auth und SMTP-After-POP.
Relay-Server für Mail-Server mit dynamischer IP
Mail-Server mit dynamischer IP-Adresse dürfen bei vielen Empfängern nicht einliefern, die gesendeten E-Mails laufen Gefahr, von Spamfiltern ausgefiltert zu werden. Um diese Probleme zu umgehen, kann der Absender einen Relay-Server mit einsetzen, den der Empfänger als vertrauenswürdig erachtet. In der Regel muss sich der Sender vor Nutzung des Relay-Servers bei diesem authentifizieren, vgl. dazu SMTP-Auth und SMTP-After-POP.
Relay-Server für spezielle Zwecke
Angebote für Online-Spamfilter und Online-Virenfilter werden üblicherweise mit Relay-Servern realisiert. Bevor die E-Mail auf den Mail-Server des eigentlichen Empfängers eingeliefert wird, durchläuft sie den Relay-Server und wird dort gefiltert. == Siehe auch==*SMTP
Authentifizierung
# apt install libsasl2-modules
Wenn der SMTP-Server auf dem Smarthost 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:
smtp_sasl_auth_enable = yes # noplaintext weglassen, wenn Passwörter im Klartext übertragen werden müssen: # (nicht empfohlen, nur wenn's anders nicht funktioniert) smtp_sasl_security_options = noplaintext noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
Wie in der Konfigurationsdatei ersichtlich, holt Postfix die Zugangsdaten aus der Datei /etc/postfix/sasl_password bzw. aus einer Datenbank, die aus der sasl_password generiert wird. Die Datei sollte man vorzugsweise mit folgendem Befehl erstellen, da sonst ein Umwandeln in eine Datenbank nicht immer möglich ist. Dazu muss man ein Terminalfenster öffnen [2] und den folgenden Befehl eingeben:
# touch /etc/postfix/sasl_password
Nun schreibt man seine Daten nach folgendem Muster in die Datei
smtp.mailanbieter.de username:ganzgeheimespasswort
Damit nicht gleich jeder das Passwort lesen kann, sollte man noch die Berechtigungen der Datei einschränken (eventuell ist das für Sicherungskopien oder die nachfolgend erzeugte Datenbank zu wiederholen):
# chmod 600 /etc/postfix/sasl_password
Jetzt muss noch die Datenbank erzeugt werden:
# postmap hash:/etc/postfix/sasl_password
Danach muss man postfix neu starten:
# /etc/init.d/postfix restart
Smarthost-Provider
Die Anti-Spam-Maßnahmen mancher Mail-Anbieter können einem als Betreiber eines Heim- oder SOHO-Servers schon ein bisschen das Leben schwer machen. Hier werden ein paar davon beschrieben, und wie man über sie korrekt Mail verschicken kann.
AOL
AOL erschwert die Konfiguration zusätzlich, weil unumgängliche Filterungsmaßnahmen durchgeführt werden. Nicht nur wird Mail mit anderen Absendern als der angemeldeten AOL-Kennung aggressiv gefiltert, sie leiten auch alle ausgehende Post auf dem regulären SMTP-Port 25 über einen Zwangs-Proxy weiter, der wiederum die gleiche Filterung durchführt. Der Einsatz der AOL-eigenen Mailserver als Smarthost ist deswegen nicht zu empfehlen. Um aber einen externen Anbieter als Smarthost benutzen zu können, muss man statt dem Standardport 25 den Mail submission-Port 587 verwenden, z.B. so:
relayhost = [mail.gmx.net:587]
Arcor
Arcor-Internet-Kunden können über ihren eigenen Internetzugang ohne weitere Authentifizierung E-Mails mit beliebigem Absender versenden, sofern dieser eine gültige E-Mail-Adresse darstellt:* Korrekten Absender setzen
Auch von unterwegs bzw. über Internet-Anbieter, die es versäumen, ihren Kunden einen eigenen Smarthost bereitzustellen (etwa im Kabelmodem-Bereich) kann man die Arcor-SMTP-Server auf diese Art nutzen, wenn man sich authentifiziert:* Authentifizierung am Smarthost
Es funktioniert auch als Freemail-Kunde des sogenannten PIA 🇩🇪 -Systems, daher ist Arcor eine gute Wahl für einen Smarthost. Man braucht das entsprechende Postfach noch nicht einmal als Kontaktadresse zu nutzen, sondern benutzt es nur für den SMTP-Auth und verschickt darüber seine reguläre Mail mit beliebigen Absender-Domains, die allerdings auf Internet-weite Gültigkeit geprüft werden (nicht also von user@localhost o.ä. - weshalb der o.g. Schnelltest per mail-Befehl scheitern könnte). Zu beachten ist, dass Arcor die Adresse, mit der man sich authentifiziert hat, in einem Zusatz-Header in die Mail einträgt, den der Empfänger lesen kann. Darüber hinaus ist eine Freemail-Registrierung nur aus Deutschland möglich. Es sind folgende Einträge in /etc/postfix/main.cf erforderlich (wodurch die Anmelde-Informationen leider unverschlüsselt übertragen werden):
relayhost = mail.arcor.de smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_password smtp_sasl_security_options = noanonymous
Der noch in zahlreichen Beispielen aufgeführte Server postman.arcor-online.net ist seit November 2005 außer Betrieb.
GMX
Um mit Postfix auch über GMX E-Mails versenden zu können, muss man folgende, weiter oben beschriebene Schritte ausführen:* Authentifizierung am Smarthost
Außerdem gilt es folgende Besonderheiten zu beachten:* GMX akzeptiert nur Mail mit demselben Absender, als der man sich authentifiziert hat. Dieser Anbierter ist deswegen nur als Smarthost geeignet, wenn alle ausgehenden Mails denselben Absender tragen dürfen. Will man dies bei GMX umgehen, kann man sich auch mit der Kundennummer authentifizieren in der sasl_password , man trägt dann dort etwa mail.gmx.net 12345678:meinZugangspasswort ein.
- Die Benutzerkennung in der /etc/postfix/sasl_password besteht aus der vollständigen E-Mail-Adresse und nicht nur aus dem Benutzernamen, z.B.:
mail.gmx.net beispiel@gmx.de:geheim
Eine minimale main.cf sieht dann so aus:
alias_database = hash:/etc/aliases inet_interfaces = loopback-only mailbox_size_limit = 0 relayhost = mail.gmx.net:587 sender_canonical_maps = hash:/etc/postfix/sender_canonical smtp_generic_maps = hash:/etc/postfix/generic smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_password smtp_sasl_security_options = noanonymous smtp_tls_security_level = encrypt
OVH
Wer den SMTP-Server des Webhosters OVH 🇩🇪 als Smarthost verwendet, muss ähnliche Änderungen vornehmen wie bei GMX. In der Datei /etc/postfix/main.cf muss folgender Eintrag geändert werden:
smtp_sasl_security_options = noanonymous
WEB.DE
- Der Versand und Empfang über externe Programme muss unter "Einstellungen → POP3/IMAP Abruf" aktiviert werden.
- Von einer WEB.DE-Absenderadresse lässt sich keine Mail an WEB.DE-Empfänger senden. In /var/log/mail.log wird in diesem Fall folgende Meldung ausgegeben: "Authentification failed, or POP3 logon too old. (in reply to MAIL FROM command)"
Seit der Sicherheitsaktualisierung vom 10.03.2009 muss die SMTP-Authentifizierung über TLS im Klartext erfolgen. Dazu wird in der Datei /etc/postfix/main.cf folgender Eintrag geändert [3]:
smtp_sasl_security_options = noanonymous
Gmail
- Wenn man unter gmail ([smtp.googlemail.com]:587) diese Fehler erhält:
"530 5.7.0 Must issue a STARTTLS command first."
, hilft folgende Option:
smtp_tls_security_level = may
, natürlich in Zusammenhang mit:
smtp_sasl_security_options = noanonymous
1und1.de
Bei 1&1 ist zu beachten, dass der Parameter noplaintext entfernt werden muss, also:
relayhost = smtp.1und1.de smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_password smtp_sasl_security_options = noanonymous
Posteo
Bei Posteo gelten prinzipiell dieselben Vorgaben wie bei 1&1. Die Verbindung muss via STARTTLS (Port 587) erfolgen, Verbindungen über SSL (Port 465) werden zurückgewiesen. Zusätzlich muss man jedoch MX-Lookups deaktivieren. Das geschieht über die FQDN-Schreibweise in eckigen Klammern (ggfs. auch in der Datei /etc/postfix/tls_policy verwenden!):
relayhost = [posteo.de]:587
Versäumt man diese spezielle Notation, kommentiert Postfix das mit einer Fehlermeldung, die der folgenden ähnlich ist:
connect to mx02.posteo.de[89.146.194.165]:587: Connection refused
Im Kanal https://www.youtube.com/user/ctaasDE 🇩🇪 ist ein Video zur Installation von Postfix unter Ubuntu 10.04.1 LTS veröffentlicht. Auch wird hier noch auf den HylaFAX-Server eingegangen.