„Einfach“ (tl;dr)

„Einfach“ (tl;dr)

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>/mailIn 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/valiasesaber dazu später mehr.

Postfix

Dies ist mehr oder weniger der einfache Teil der Einrichtung. Installieren Sie einfach das postfixPaket.

Exim

Installieren Sie Exim mit. apt-get install exim4 exim4-base exim4-config exim4-daemon-heavyNach 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.confDies schließt die für Exim erforderlichen Änderungen ab

Kurier

Installieren Sie Courier. courier-baseHiermit 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/virtualoder 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 - uidundgid 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.comeine 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/valiasesDatei ü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:

Postfix

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.

verwandte Informationen