Dies ist eine alte Version des Dokuments!
Um diese Anleitung befolgen zu können brauchst du:
Um Emails von deinem Server verschicken zu können, brauchst du einen Mail Transfer Agent (MTA). In dieser Anleitung benutzen wir Exim. Exim ist auf Debian normalerweise vorinstalliert. Andernfalls kann es mit dem folgenden Befehl installiert werden.
# apt install exim
Debian kann über debconf automatisch angepasste Konfigurationsdateien für Exim erstellen. Dies passiert entweder bei der Installation des Pakets oder nachträglich mit:
# dpkg-reconfigure exim4-config
Da wir einen eigenen Mailserver erstellen wollen, der mit allen anderen Mailservern im Internet über SMTP kommunizieren kann, müssen wir auf der Seite zur Art des Email-Servers die folgende Option wählen:
General type of mail configuration: internet site; mail is sent and received directly using SMTP.
Auf der nächsten Seite geben wir den Mail-Namen an. Dieser entspricht dem hinteren Teil der Email-Adressen, die auf unserem Server Emails verschicken können sollen. Für die Email-Adresse user@anarcode.berlin wäre der richtige Mail-Name also anarcode.berlin.
System mail name: anarcode.berlin
Als nächstes sollen wir angeben, von welchen IP-Adressen aus über unseren Server Emails verschickt werden dürfen. Wenn Emails beispielsweise nur innerhalb eines Netzwerks benutzt werden sollen, kann man hier die IP-Adressen des Netzwerks angeben. Wenn Nutzer*innen nur Emails verschicken können sollen, wenn sie direkt in eurem Server eingeloggt sind, könnte man die localhost IP-Adresse 127.0.0.1 angeben. In den meisten Fällen dürfte das Feld aber leer bleiben, damit alle Nutzer*innen von überall Emails verschicken können.
IP-addresses to listen on for incomming SMTP connections: // leer lassen
Beim nächsten Schritt werden wir um etwas gefragt, was eigentlich nichts mit der Überschrift dieser Sektion (Ausgehende Emails) zu tun hat. Ein MTA kümmert sich nämlich auch um das Empfangen von Emails, die von anderen Email-Servern an unseren Email-Server geschickt werden. Hier soll nun angegeben werden, für welche Domains sich unser Server als Empfänger entsteht. Wenn unsere Nutzer*innen also Email-Adressen wie user@anarcode.berlin haben, dann wäre hier der richtige Wert anarcode.berlin. Sollte unser Server dann eine Email bekommen, deren Empfänger bspw. user@gmail.com ist, dann wird unser Server diese Email als falsch zurückweisen, weil gmail.com eben keine akzeptierte Domain ist.
Other destinations for which mail is accepted: anarcode.berlin
Die nächsten beiden Schritte interessieren uns nur, wenn wir unseren Server als SMTP-Relay-Server benutzen wollen. Wenn du diese Anleitung liest, willst du das wahrscheinlich nicht und du solltest beide Felder leer lassen.
Domains to relay mail for: // leer lassen Machines to relay mail for: // leer lassen
Die nächste Option ist nur für Schmalband-Internetzugänge relevant. Also für das Internet aus den 90ern, als man sich noch über eine Telefon-Einwahlleitung mit dem Internet verbunden hat. Lasse diese Einstellung deaktiviert.
Keep number of DNS-queries minimal (Dial-on-Demand)?: No
Die folgenden beiden Seiten sind eigentlich reine Geschmackssache. Zunächst geht es darum, in welchem Format die empfangenen Emails auf dem Server abgespeichert werden sollen. Wir wählen in dieser Anleitung das mbox-Format. Danach ist die Frage, ob die Konfigurationsdatei in mehrere kleine Konfigurationsdateien aufgesplittert werden soll. Das beantworten wir hier mit nein.
Delivery method for local mail: mbox Split configuration into small files?: No
Nun ist dein Mail Transfer Agent fertig eingerichtet. Nur werden die meisten deiner darüber verschickten Emails in Spam-Ordnern landen oder gar nicht erst ankommen. Damit das nicht passiert, musst du folgendes tun:
Mit dem folgenden Shell-Skript können ausgehende Emails getestet werden. Dafür kannst du es auf dem Server einfach als testmail.sh abspeichern und mit chmod +x testmail.sh
sicher stellen, dass die Datei ausführbar ist.
#!/bin/sh read -p "Betreff: " subject read -p "Empfänger*inadresse: " to_address read -p "Absender*inadresse: " from_address date=$(date +'%a, %-d %b %Y %H:%M:%S %z') /usr/sbin/sendmail $to_address <<MAIL_END Subject: $subject To: $to_address From: $from_address Date: $date Dies ist eine Testnachricht . MAIL_END
Anschließend kannst du das Skript mit ./testmail.sh
ausführen (du musst das als Root-Nutzer*in tun). Das Skript fragt dich dann nach Betreff, Empfänger*in- und Absender*inadresse. Wenn du alles eingegeben hast, wird die Test-Email verschickt. Wenn alles gut gelaufen ist, sollte sie bei der angegebenen Empfänger*inadresse ankommen.