Tolle Frage, ich warte auf eine tolle Antwort. Ich habe im Laufe der Jahre ein paar Mailserver aufgebaut und es war noch nie so einfach. Viele Entscheidungen: Welcher SMS-Server, welcher IMAP / POP, wie die Mails gespeichert werden, wie die Benutzer gespeichert werden ... Ich bin absolut nicht in der Lage, eine einfache Antwort zu geben .
Javier Rivera
Antworten:
48
So habe ich Mail auf unseren Produktionsmaschinen eingerichtet. Dies sind die Kriterien, die wir brauchten:
E-mail Konten
E-Mail-Aliase (Weiterleitungen)
IMAP, POP3 und SMTP
"Easy" (tl; dr)
Zunächst möchte ich auf die scheinbar einfachste Lösung eingehen .
sudo tasksel install mail-server
Als wir dies versuchten, traten einige Probleme auf: Zuerst wird Dovecot installiert, was für die meisten in Ordnung ist, aber wir haben Courier für unsere Bedürfnisse als das bessere der beiden angesehen . Zweitens nutzt es Postfix, was großartig ist, aber wir brauchen auch Exim, da es ein leistungsfähigerer MTA / SMTP-Server ist. Drittens installiert es MySQL - in der von mir verwendeten Konfiguration bevorzugen wir Flatfiles für die Konfiguration, da dies eine Schwachstelle weniger ist. Überlegen Sie, was passieren würde, wenn MySQL aus einem unbekannten Grund abstürzt. Ansonsten ist der Rest der Pakete ziemlich einfach und für einen kleinen Mail-Service einfach zu warten (man denke an 1-2 E-Mail-Domains insgesamt).
Unsere Konfiguration
Verzeichnisaufbau
Wir weichen geringfügig vom Pfad normaler Konfigurationen ab, dies erleichtert jedoch die Verwaltung.
Alle unserer Mail wird in gespeichert /var/mail/virtual/<domain>/<user>/mailfür zukünftige Beispiele Also ich verwenden werden [email protected], [email protected], [email protected]um zu gehen , um eine E - Mail - Adresse, eine Weiterleitung zu vertreten [email protected], und jeweils eine schlechte Adresse. Im obigen Beispiel wäre es /var/mail/virtual/example.com/email/mail.
Ich habe auch eine Liste aller Domains auf dem Server, /etc/valiasesaber dazu später mehr.
Postfix
Dies ist mehr oder weniger der einfache Teil des Setups. Installieren Sie einfach das postfixPaket.
Exim
Exim apt-get install exim4 exim4-base exim4-config exim4-daemon-heavyinstallieren mit Nach der Installation müssen Sie die Exim-Standardkonfiguration bearbeiten, um die folgenden Werte zu ersetzen oder hinzuzufügen:
(Diese Zeilen erscheinen in verschiedenen Teilen der Datei und werden entsprechend ersetzt.)
Sobald dies abgeschlossen ist, erstellen Sie die Exim-Konfiguration mit update-exim4.confDies schließt die für Exim erforderlichen Änderungen ab
Kurier
Installieren Sie Courier mit courier-basedieser sollte installieren courier-authdaemon, courier-authlib*, courier-imap*, courier-pop*, courieruserinfo,courier-ssl
Es gibt ehrlich gesagt nicht viel Konfiguration außerhalb des Standards. Sie müssen lediglich eine Benutzerdatenbank erstellen.
Konten
Exim und Courier überprüfen an einigen Stellen, ob ein Login oder eine eingehende E-Mail gültig sind. Exim prüft, ob die Domain als lokaler Hostname aufgeführt ist oder ob die Domain eingetragen ist /var/mail/virtualoder ob die Domain eingetragen ist /etc/valiases.
E-Mail-Konten erstellen
Ich habe schließlich mehrere Tools erstellt, um diesen Prozess zu rationalisieren. Das Hinzufügen eines neuen Benutzers erfolgt jedoch wie folgt:
Fügen Sie dann die Adresse zu "courier userdb" hinzu, damit sie sich anmelden können
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 - uidund gidmüssen die numerischen Benutzer- / Gruppen-IDs für den E-Mail-Benutzer sein.
Wenn "Authentifizierung fehlgeschlagen: Vorgang nicht zulässig" angezeigt wird, bearbeiten Sie stattdessen / etc / courier / authdaemonrc und fügen Sie authuserdb in die Zeile authmodulelist ein.
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 E-Mail-Client ein.
E-Mail-Aliase erstellen
Für jede Domain sollten Sie eine Datei in /etc/valiases(erstellen, wenn es nicht existiert) mit mindestens der folgenden Zeile erstellen:
*: :fail: No user at this address.
Was dies sagt: Wenn die eingehende E-Mail nicht mit einem E-Mail-Konto übereinstimmt, das ich gespeichert habe, sollte die E-Mail fehlschlagen und mit der Meldung "Kein Benutzer an dieser Adresse" zurückgewiesen werden. Alle Mails, die gesendet werden, um zu sagen [email protected], werden als Fehler zurückgewiesen.
Wir haben jedoch ein paar E-Mail-Adressen, die wir an anderer Stelle pflegen möchten - beispielsweise bei [email protected] -, damit wir sie erstellen können. /etc/valiases/example.comDer Inhalt der Datei sollte wie folgt lauten:
Auf diese Weise stimmt [email protected] zwar mit keinem E-Mail-Konto auf dem Server überein, es stimmt jedoch mit der /etc/valiasesDatei überein, und die E-Mail wird an [email protected] weitergeleitet. [email protected] schlägt jedoch weiterhin mit fehl eine Meldung "Kein Benutzer an dieser Adresse".
@WesleyDavid Ich glaube nicht, dass meine Bash-Geschichte als ISBN angezeigt wird :)
Marco Ceppi
Ich folge diesen Anweisungen - sehr geschätzt - und habe sie oben bearbeitet, um einen Fehler in der Authtest-Zeile zu beheben.
Darren Greaves
@ DarrenGreaves Danke! Ich bin froh, dass es geholfen hat und danke für das Update!
Marco Ceppi
Ich habe Mühe, all das zum Laufen zu bringen. Ich habe nur das Routing von Valiases zum Laufen gebracht, als ich die (für Pfade bearbeitete) Routing-Datei 350 von debian-administration.org/articles/140 hinzugefügt habe. Virtuelle Domains funktionieren überhaupt nicht - Mussten Sie überhaupt Routing-Dateien hinzufügen? Ta.
Darren Greaves
14
Der einfachste Weg ist zu rennen sudo tasksel install mail-server. Dadurch erhalten Sie einen E-Mail-Server mit vernünftigen Standardeinstellungen. Sie müssen nur ein paar Fragen beantworten. Natürlich können Sie danach noch manuelle Konfigurationen vornehmen, wenn dies erforderlich ist. In den meisten Fällen ist dies jedoch nicht der Fall. Folgen Sie einfach den Anweisungen auf dem Bildschirm und es sollte Ihnen gut gehen.
Es ist jedoch absolut empfehlenswert, sich über die Verwaltung der E-Mail-Dienste zu informieren.
Gibt es eine träge Möglichkeit zu sehen, was das zu tun hat (zu installierende Pakete, Standardeinstellungen)? Mit faul meine ich, ohne es selbst zu installieren.
Javier Rivera
@ Javier können Sie sehen, welche Inhalte installiert werden, indem Siesudo tasksel --task-packages mail-server
Marco Ceppi
Konfiguration in MySQL gespeichert, kein Anti-Spam, kein Anti-Virus ... es ist nicht wirklich nützlich für uns :(.
Wenn ich das nur selbst mache, brauchst du in der Tat Postfix, und in meinem Fall wollte ich auch einen Imap-Server, damit ich einen netten GUI-Client (ohne Namen zu erwähnen) auf einem anderen Computer verwenden kann. Ich habe diese Dokumente benutzt:
Es ist eigentlich ziemlich einfach, hat es in ein paar Minuten zum Laufen gebracht und erhalte E-Mails. Dies ist auch nützlich, um zu überprüfen, ob alles in Ordnung ist .
Oh, und Sie müssen natürlich Ihre DNS-Einträge wie folgt korrekt einrichten (basierend auf den Einstellungen, die für mich funktionierten):
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 der Mailserver und geben Sie gegebenenfalls Ihre IP-Adresse und Ihren Domainnamen ein.
Antworten:
So habe ich Mail auf unseren Produktionsmaschinen eingerichtet. Dies sind die Kriterien, die wir brauchten:
"Easy" (tl; dr)
Zunächst möchte ich auf die scheinbar einfachste Lösung eingehen .
Als wir dies versuchten, traten einige Probleme auf: Zuerst wird Dovecot installiert, was für die meisten in Ordnung ist, aber wir haben Courier für unsere Bedürfnisse als das bessere der beiden angesehen . Zweitens nutzt es Postfix, was großartig ist, aber wir brauchen auch Exim, da es ein leistungsfähigerer MTA / SMTP-Server ist. Drittens installiert es MySQL - in der von mir verwendeten Konfiguration bevorzugen wir Flatfiles für die Konfiguration, da dies eine Schwachstelle weniger ist. Überlegen Sie, was passieren würde, wenn MySQL aus einem unbekannten Grund abstürzt. Ansonsten ist der Rest der Pakete ziemlich einfach und für einen kleinen Mail-Service einfach zu warten (man denke an 1-2 E-Mail-Domains insgesamt).
Unsere Konfiguration
Verzeichnisaufbau
Wir weichen geringfügig vom Pfad normaler Konfigurationen ab, dies erleichtert jedoch die Verwaltung.
Alle unserer Mail wird in gespeichert
/var/mail/virtual/<domain>/<user>/mail
für zukünftige Beispiele Also ich verwenden werden[email protected]
,[email protected]
,[email protected]
um zu gehen , um eine E - Mail - Adresse, eine Weiterleitung zu vertreten[email protected]
, und jeweils eine schlechte Adresse. Im obigen Beispiel wäre es/var/mail/virtual/example.com/email/mail
.Ich habe auch eine Liste aller Domains auf dem Server,
/etc/valiases
aber dazu später mehr.Postfix
Dies ist mehr oder weniger der einfache Teil des Setups. Installieren Sie einfach das
postfix
Paket.Exim
Exim
apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
installieren mit Nach der Installation müssen Sie die Exim-Standardkonfiguration bearbeiten, um die folgenden Werte zu ersetzen oder hinzuzufügen:(Diese Zeilen erscheinen in verschiedenen Teilen der Datei und werden entsprechend ersetzt.)
Sobald dies abgeschlossen ist, erstellen Sie die Exim-Konfiguration mit
update-exim4.conf
Dies schließt die für Exim erforderlichen Änderungen abKurier
Installieren Sie Courier mit
courier-base
dieser sollte installierencourier-authdaemon
,courier-authlib*
,courier-imap*
,courier-pop*
,courieruserinfo
,courier-ssl
Es gibt ehrlich gesagt nicht viel Konfiguration außerhalb des Standards. Sie müssen lediglich eine Benutzerdatenbank erstellen.
Konten
Exim und Courier überprüfen an einigen Stellen, ob ein Login oder eine eingehende E-Mail gültig sind. Exim prüft, ob die Domain als lokaler Hostname aufgeführt ist oder ob die Domain eingetragen ist
/var/mail/virtual
oder ob die Domain eingetragen ist/etc/valiases
.E-Mail-Konten erstellen
Ich habe schließlich mehrere Tools erstellt, um diesen Prozess zu rationalisieren. Das Hinzufügen eines neuen Benutzers erfolgt jedoch wie folgt:
Fügen Sie dann die Adresse zu "courier userdb" hinzu, damit sie sich anmelden können
Stellen Sie sicher, dass Sie die Werte gegebenenfalls ersetzen. Außerdem -
uid
undgid
müssen die numerischen Benutzer- / Gruppen-IDs für den E-Mail-Benutzer sein.Daraufhin werden Sie zur Eingabe eines Kennworts aufgefordert. Geben Sie das Kennwort ein, das Sie für das Konto verwenden möchten.
Generieren Sie abschließend die Userdb-Hash- / Shadow-Dateien. Starten Sie Courier neu und testen Sie, ob Ihre Änderungen funktionieren:
Sollte etwas ähnliches produzieren
Wenn "Authentifizierung fehlgeschlagen: Vorgang nicht zulässig" angezeigt wird, bearbeiten Sie stattdessen / etc / courier / authdaemonrc und fügen Sie authuserdb in die Zeile authmodulelist ein.
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 E-Mail-Client ein.E-Mail-Aliase erstellen
Für jede Domain sollten Sie eine Datei in
/etc/valiases
(erstellen, wenn es nicht existiert) mit mindestens der folgenden Zeile erstellen:Was dies sagt: Wenn die eingehende E-Mail nicht mit einem E-Mail-Konto übereinstimmt, das ich gespeichert habe, sollte die E-Mail fehlschlagen und mit der Meldung "Kein Benutzer an dieser Adresse" zurückgewiesen werden. Alle Mails, die gesendet werden, um zu sagen
[email protected]
, werden als Fehler zurückgewiesen.Wir haben jedoch ein paar E-Mail-Adressen, die wir an anderer Stelle pflegen möchten - beispielsweise bei [email protected] -, damit wir sie erstellen können.
/etc/valiases/example.com
Der Inhalt der Datei sollte wie folgt lauten:Auf diese Weise stimmt [email protected] zwar mit keinem E-Mail-Konto auf dem Server überein, es stimmt jedoch mit der
/etc/valiases
Datei überein, und die E-Mail wird an [email protected] weitergeleitet. [email protected] schlägt jedoch weiterhin mit fehl eine Meldung "Kein Benutzer an dieser Adresse".quelle
Der einfachste Weg ist zu rennen
sudo tasksel install mail-server
. Dadurch erhalten Sie einen E-Mail-Server mit vernünftigen Standardeinstellungen. Sie müssen nur ein paar Fragen beantworten. Natürlich können Sie danach noch manuelle Konfigurationen vornehmen, wenn dies erforderlich ist. In den meisten Fällen ist dies jedoch nicht der Fall. Folgen Sie einfach den Anweisungen auf dem Bildschirm und es sollte Ihnen gut gehen.Es ist jedoch absolut empfehlenswert, sich über die Verwaltung der E-Mail-Dienste zu informieren.
Offizielle Referenzen:
quelle
sudo tasksel --task-packages mail-server
Ich habe keine "gute Antwort", aber möglicherweise finden Sie diese Links hilfreich https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail und https://help.ubuntu.com/community/Postfix
quelle
Wenn ich das nur selbst mache, brauchst du in der Tat Postfix, und in meinem Fall wollte ich auch einen Imap-Server, damit ich einen netten GUI-Client (ohne Namen zu erwähnen) auf einem anderen Computer verwenden kann. Ich habe diese Dokumente benutzt:
Postfix
Dovecot (Imap und Pop3)
Es ist eigentlich ziemlich einfach, hat es in ein paar Minuten zum Laufen gebracht und erhalte E-Mails. Dies ist auch nützlich, um zu überprüfen, ob alles in Ordnung ist .
Oh, und Sie müssen natürlich Ihre DNS-Einträge wie folgt korrekt einrichten (basierend auf den Einstellungen, die für mich funktionierten):
und
Beachten Sie den Punkt am Ende der Mailserver und geben Sie gegebenenfalls Ihre IP-Adresse und Ihren Domainnamen ein.
quelle