.png)
Auf meinem VPS läuft Ubuntu und ich möchte E-Mails an meine Domain empfangen können.
Wie richte ich hierfür einfach einen Mailserver ein?
Antwort1
So habe ich E-Mail auf unseren Produktionsmaschinen eingerichtet. Dies sind die Kriterien, die wir brauchten:
- E-mail Konten
- E-Mail-Aliase (Weiterleitungen)
- IMAP, POP3 und SMTP
„Einfach“ (tl;dr)
Zunächst möchte ich auf das eingehen, was alsam einfachstenLösung.
sudo tasksel install mail-server
Bei unserem Versuch traten mehrere Probleme auf: Zunächst wird Dovecot installiert, was für die meisten in Ordnung ist, aber wir haben Courier als das bessere der beiden Programme erachtet fürunserbraucht. Zweitens verwendet es Postfix, was großartig ist, aber wir brauchen auch Exim, da es ein leistungsstärkerer MTA/SMTP-Server ist. Drittens installiert es MySQL – in der Konfiguration, die ich verwende, bevorzugen wir Flatfiles für die Konfiguration, da es eine Schwachstelle weniger gibt. Überlegen Sie, was passieren würde, wenn MySQL aus irgendeinem unbekannten Grund abstürzen würde. Ansonsten sind die restlichen Pakete ziemlich unkompliziert und für einen kleinen E-Mail-Dienst (denken Sie an 1-2 E-Mail-Domänen insgesamt) leicht zu warten.
Unsere Konfiguration
Verzeichnisaufbau
Wir weichen etwas vom Pfad der normalen Konfigurationen ab, aber es erleichtert die Verwaltung.
Alle unsere E-Mails werden in gespeichert. /var/mail/virtual/<domain>/<user>/mail
In zukünftigen Beispielen werde ich daher [email protected]
, [email protected]
, verwenden, [email protected]
um eine E-Mail-Adresse, eine Weiterleitung an [email protected]
bzw. eine ungültige Adresse darzustellen. Im obigen Beispiel wäre dies /var/mail/virtual/example.com/email/mail
.
Ich pflege auch eine Liste aller Domänen auf dem Server, /etc/valiases
aber dazu später mehr.
Postfix
Dies ist mehr oder weniger der einfache Teil der Einrichtung. Installieren Sie einfach das postfix
Paket.
Exim
Installieren Sie Exim mit. apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
Nach der Installation müssen Sie die Exim-Standardkonfiguration bearbeiten, um die folgenden Werte zu ersetzen oder hinzuzufügen:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(Diese Zeilen erscheinen in verschiedenen Teilen der Datei, ersetzen Sie sie entsprechend.)
Sobald dies abgeschlossen ist, erstellen Sie die Exim-Konfiguration neu mit update-exim4.conf
Dies schließt die für Exim erforderlichen Änderungen ab
Kurier
Installieren Sie Courier. courier-base
Hiermit sollten courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
, installiert werden.courier-ssl
Ehrlich gesagt gibt es außerhalb des Standards nicht viel Konfigurationsmöglichkeiten. Sie müssen lediglich eine Benutzerdatenbank erstellen.
Konten
Exim und Courier prüfen an mehreren Stellen, ob ein Login oder eine eingehende E-Mail gültig sind. Exim prüft, ob die Domäne als lokaler Hostname aufgeführt ist oder ob sich die Domäne in befindet /var/mail/virtual
oder ob sich die Domäne in befindet /etc/valiases
.
E-Mail-Konten erstellen
Ich habe schließlich mehrere Tools erstellt, um diesen Prozess zu optimieren – aber das Hinzufügen eines neuen Benutzers geht in etwa so:
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
Fügen Sie dann die Adresse zur Benutzerdatenbank des Kuriers hinzu, damit dieser sich anmelden kann
userdb [email protected] set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
Stellen Sie sicher, dass Sie die Werte gegebenenfalls ersetzen. Außerdem - uid
undgid
brauchenmüssen die numerischen Benutzer-/Gruppen-IDs für den E-Mail-Benutzer sein.
userdbpw -md5 | userdb [email protected] set systempw
Sie werden zur Eingabe eines Kennworts aufgefordert. Geben Sie das Kennwort ein, das Sie für das Konto verwenden möchten.
makeuserdb
Generieren Sie abschließend die Userdb-Hash-/Shadow-Dateien. Starten Sie Courier neu und testen Sie, ob Ihre Änderungen funktionieren:
authtest [email protected]
Sollte etwas Ähnliches erzeugen wie
Authentication succeeded.
Authenticated: [email protected] (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
Wenn die Meldung „Authentifizierung FEHLGESCHLAGEN: Vorgang nicht zulässig“ angezeigt wird, bearbeiten Sie stattdessen /etc/courier/authdaemonrc und fügen Sie authuserdb zur Zeile authmodulelist hinzu.
Nachdem alle Tests bestätigt wurden, starten Sie die verschiedenen beteiligten Dienste neu ( courier-authdaemon
, exim4
), öffnen Sie die Ports 143, 25, 586, 495, 110 und richten Sie die Konten in Ihrem bevorzugten Mailclient ein.
E-Mail-Aliasse erstellen
Für jede Domäne sollten Sie eine Datei erstellen /etc/valiases
(erstellen, falls sie noch nicht vorhanden ist), die mindestens die folgende Zeile enthält:
*: :fail: No user at this address.
Was das bedeutet: Wenn die eingehende E-Mail keinem meiner gespeicherten E-Mail-Konten entspricht, sollte die E-Mail als fehlgeschlagen und mit der Meldung „Kein Benutzer an dieser Adresse“ zurückgewiesen werden. Alle an diese Adresse gesendeten E-Mails [email protected]
würden daher als fehlgeschlagen zurückgewiesen.
Wir haben jedoch einige E-Mail-Adressen, die wir woanders verwalten möchten - beispielsweise[email geschützt]- dazu müssen wir /etc/valiases/example.com
eine Datei erstellen, deren Inhalt wie folgt aussehen sollte:
fwd: [email protected]
*: :fail: No user at this address.
Auf diese Weise, obwohl[email geschützt]stimmt mit keinem E-Mail-Konto auf dem Server überein, stimmt es mit der /etc/valiases
Datei überein und die E-Mail wird weitergeleitet an[email geschützt]- Jedoch,[email geschützt]wird immer noch mit der Meldung „Kein Benutzer an dieser Adresse“ fehlschlagen.
Antwort2
Am einfachsten ist es, auszuführen sudo tasksel install mail-server
. Dadurch erhalten Sie einen E-Mail-Server mit vernünftigen Standardeinstellungen. Sie müssen lediglich ein paar Fragen beantworten. Natürlich können Sie bei Bedarf auch danach noch manuelle Konfigurationen vornehmen, aber in den meisten Fällen ist das nicht der Fall. Folgen Sie einfach den Anweisungen auf dem Bildschirm, dann sollte alles gut gehen.
Es empfiehlt sich allerdings unbedingt, sich in die Verwaltung von E-Mail-Diensten einzulesen.
Offizielle Referenzen:
Antwort3
Ich habe keine "großartige Antwort", aber diese Links könnten hilfreich seinhttps://help.ubuntu.com/community/PostfixBasicSetupHowto#ReceivingMail undhttps://help.ubuntu.com/community/Postfix
Antwort4
Ich habe das gerade selbst gemacht. Man braucht tatsächlich Postfix, und in meinem Fall wollte ich auch einen IMAP-Server, damit ich einen netten GUI-Client (ohne Namen zu nennen) auf einem anderen Rechner verwenden kann. Ich habe diese Dokumente verwendet:
Taubenschlag(imap und pop3)
Eigentlich ist es ganz einfach. Ich habe es in wenigen Minuten eingerichtet und empfange E-Mails. Das ist auch nützlich, um zu überprüfen, ob alles richtig eingerichtet ist.Pingbarkeit.
Oh, und Sie müssen natürlich Ihre DNS-Einträge wie unten beschrieben korrekt einrichten (basierend auf den Einstellungen, die bei mir funktioniert haben):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
Und
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Beachten Sie den Punkt am Ende von Mailservern und fügen Sie an den entsprechenden Stellen Ihre IP-Adresse und Ihren Domänennamen ein.