Mailserver mit Smarthost

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index


Inhaltsverzeichnis

[Bearbeiten] Was ist ein Mailserver mit Smarthost

Wer an einem DSL-Anschluß hängt und Mails verschicken will, wird schnell damit konfrontiert, dass mittlerweile fast kein Provider mehr Mails von dynamischen IPs annimmt. Der Ausweg aus dieser Misere ist eigentlich nur sinnvoll über einen sogenannten Smarthost zu realisieren. Ein Smarthost ist nichts anderes als ein existierender Mail-Account bei einem Provider, den man dazu verwendet, Mails zu versenden. Dies einem mta (Mail-Transfer-Agent) beizubringen ist jedoch nicht ganz so einfach.

Ich habe mich dazu für den MTA postfix enschieden

[Bearbeiten] Installation

Vorher ist natürlich der alte MTA zu entfernen. Dies findet man heraus, indem man

emerge postfix -pv

eingibt. Der alte erscheint dann als blocking

emerge postfix

[Bearbeiten] Konfiguration

[Bearbeiten] Postfix Konfigurationsdateien

[Bearbeiten] Die Datei main.cf

Folgendes Listing führt nur die zur Standardkonfiguration geänderten Zeilen auf:

Datei: /etc/postfix/main.cf
...
myhostname = mailserver.domain.local
...
mydomain = domain.local
...
mydestination = $mydomain
...
# Auf allen Interfaces hören
inet_interfaces = all
...
#Wir bedienen ein Subnet
mynetworks_style = subnet
# Die lokale Netzmaske
mynetworks = 192.168.1.0/24, 127.0.0.0/8
...
# Hier kommen jetzt die sasl Einstellungen für unseren mail Provider
# sasl authentifizierung einschalten
smtp_sasl_auth_enable = yes
# passwort benutzer Kombination aus dieser Datei laden
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous
# der smtp Server unseres mail Providers (muß einem Eintrag in /etc/postfix/smtp_auth entsprechen, siehe nächster Abschnitt)
relayhost = [smtp.1und1.de]
...
# Die aliasmap richtig setzen
alias_maps = hash:/etc/mail/aliases
# Adressmapping für ausgehende Mails wird unten näher beschrieben
smtp_generic_maps = hash:/etc/postfix/generic
...


[Bearbeiten] Die Datei master.cf

Die folgende Einstellung sollte bereits korrekt sein. Achtung es gibt noch eine sehr ähnliche Zeile für den smtpd.

Wichtig in folgender Datei ist die letzte Einstellung! smtp

Datei: /etc/postfix/master.cf
...
smtp      inet  n       -       n       -       -       smtp
...


[Bearbeiten] Die Datei smtp_auth

Datei: /etc/postfix/smtp_auth

[smtp.1und1.de <username>:<password>]


Anschließend muss die Datei muß nach Änderung noch für postfix aufbereitet werden. Dies übernimmt das Kommando:

postmap /etc/postfix/smtp_auth


[Bearbeiten] Die Datei Aliases

In der Datei /etc/mail/aliases stehen die Weiterleitungen für die lokalen Nutzer. Hier wird z.B. definiert, wer root als Benutzer ist bzw. können auch weiterleitungen an externe Mailboxen erfolgen.

Datei: /etc/mail/aliases
# Lokale Weiterleitungen
postmaster: root
webmaster:root
root: johndoe
# Externe Weiterleitungen
johndoe: j.doe@example.net


Anschließend muss die aliases-Datei noch für postfix aufbereitet werden. Dies übernimmt das Kommando:

newaliases


[Bearbeiten] Die Datei generic

Damit externe SMTP Server auch Mails von ungültigen und dynamischen Domains annehmen muss man die localen Adressen eventuell übersetzen.

Datei: /etc/postfix/generic
user                            user@extern.de
bla@domain.local                bla@extern.de
@domain.local                   mail@extern.de


Im Beispiel werden Mails von user mit der Absenderadresse user@extern.de verschickt. Bla@domain.local wird zu bla@extern.de übersetzt. @domain.local übersetzt alle übrigen absenderadressen der Domain zu mail@extern.de und so weiter.

Die Datei muss auch noch für Postfix aufbereitet werden

postmap /etc/postfix/generic

Mehr Informationen findet man auf [1]

[Bearbeiten] Test

So, Zeit für den ersten Test.

/etc/init.d/postfix start

Ist der Dienst ohne Fehler gestartet (syslog lesen !), mit

mail -s Testmail mich@example.net
Text
.

oder

sendmail mich@example.net
Subject: Blah
Text
.

eine Testmail verschicken. Mail fragt meist noch nach dem CC-Empfänger, welchen man einfach mit Enter bestätigen kann.

Fertig ist der MTA mit einem Smarthost.

'Persönliche Werkzeuge