Mailserver unter Ubuntu installieren
Vor kurzem fragte mich Jeffrey per ICQ, wie ich meinen Mailserver aufgesetzt habe und erinnerte mich daran, dass ich doch endlich eine Anleitung darüber schreiben wollte. Im Rahmen dieser Anleitung werde ich einen Mail-Server auf Basis von Postfix und Dovecot aufsetzen, wobei natürlich ein großer Wert auf die Sicherheit gelegt wird (wir wollen ja keine Spamschleuder ins Internet stellen). Die einzelnen Benutzer müssen hierbei als Systemnutzer eingerichtet werden.
Ich werde den Mailserver so konfigurieren, dass sämtliche Verbindungen verschlüsselt ablaufen und die Dienste nur über eine Authentifizierung genutzt werden können. Trotzdem müssen natürlich immer die neusten Updates eingespielt werden, um etwaige Sicherheitslücken auszumerzen. Ein falsch eingerichteter Mailserver kann schnell zur Spamschleuder werden und das kann für den Betreiber teuer werden.
Vorweg muss noch gesagt werden, dass ich diese Anleitung auf Basis von Ubuntu erstellt habe. Es könnte also sein, dass sich die Paketnamen bei anderen Linux-Distributionen unterscheiden. Ich empfehle außerdem, sich vorher die komplette Anleitung einmal durchzulesen, bevor man die Anleitung umsetzt. Die hier geschilderte Anleitung basiert auf meinen eigenen Erfahrungen, eine vollkommene Sicherheit garantiere ich nicht. Wer sich mit der Materie nicht auskennt, sollte sich lieber eine E-Mail-Adresse bei einem professionellen Anbieter besorgen, um Kosten durch unsachgemäße Nutzung des Servers zu vermeiden.
Benutzer einrichten
Zunächst einmal muss ein Benutzer eingerichtet werden, der als Administrator des Mailservers fungiert. In meinem Fall ist dies der Benutzer patrick, welcher seine E-Mails über patrick@techspread.de empfängt. Der Benutzer bekommt ansonsten keine Rechte auf dem System. Mit den folgenden Befehlen werden übrigens auch andere normale Benutzer angelegt:
useradd -d /home/<Benutzername> -m -s /bin/false <Benutzername> passwd <Benutzername>
In meinem Fall wäre das zum Beispiel:
useradd -d /home/patrick -m -s /bin/false patrick passwd patrick
Den angelegten Nutzer sollte man sich nun merken, er wird gleich gebraucht
Installation der Pakete
Fangen wir erst einmal mit der Installation aller wichtigen Pakete an:
aptitude install postfix sasl2-bin mailx dovecot-common dovecot-imapd
Grundkonfiguration von Postfix
Bei der Installation von Postfix werden bereits ein paar Daten abgefragt. Hierbei müssen folgende Einstellungen getroffen werden:
General type of configuration: Internet Site Where should mail for root go: // Hier den eben angelegten Benutzer oder eine gültige E-Mail-Adresse eintragen // (z.B. patrick oder patrick@techspread.de) Mailname: // Hier muss die gewünschte Domain eingetragen werden // (z.B. techspread.de) Local Networks: 127.0.0.0/8 //(Mails dürfen ohne Authentifizierung nur von dem Server selbst verschickt werden)
Sollte man sich bei der Konfiguration einmal vertan haben, kann man die Prozedur ganz einfach per
dpkg-reconfigure postfix
wiederholen. Nach der Konfiguration sollte man postfix einmal (neu)starten:
/etc/init.d/postfix restart
Der Server sollte nun schon E-Mails verschicken können. Um das zu testen, gibt man folgenden Befehl ein:
echo Dies ist ein Test | mail -s "Testnachricht" <E-Mail-Adresse>
Wobei <E-Mail-Adresse> natürlich durch eine abrufbare E-Mail-Adresse ersetzt werden muss.
Aliase setzen
Jetzt sollten erst einmal zwei Aliase gesetzt werden, die laut Protokollstandard (RFC) erforderlich sind. Die Aliase dienen dazu, eine E-Mail-Adresse über verschiedene Namen erreichbar zu machen. Laut RFC muss je ein Alias für root und postmaster gesetzt werden. Erstelle bzw. bearbeite dazu die Datei /etc/aliases und füge folgende Zeilen ein:
root: <Benutzername> postmaster: <Benutzername>
Als Benutzername trägst du den eben angelegten Benutzer ein. Die E-Mails des Benutzers solltest du auf jeden Fall regelmäßig abrufen, da auf diese E-Mail-Adresse auftretende Fehlermeldungen und eventuelle Anfragen geschickt werden. Danach müssen die Aliase noch bekannt gegeben werden:
newaliases
Postfix-Authentifizierung einrichten
Es ist zwingend notwendig, eine Postfix-Authentifizierung zu verlangen, wenn man einen Mailserver im Internet betreibt. Richtet man keine Authentifizierung ein, kann der Server als so genanntes offenes Mail-Relay missbraucht werden. Kriminelle könnten den Server ohne Authentifizierung dann z.B. zum Verschicken von Spam-Mails oder Malware benutzen.
Zunächst müssen folgende Werte in der Datei /etc/default/saslauthd angepasst werden:
START=yes MECHANISMS="shadow" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Danach erstellst du die Datei /etc/postfix/sasl/smtpd.conf mit folgendem Inhalt:
pwcheck_method: saslauthd mech_list: PLAIN LOGIN saslauthd_path: /var/run/saslauthd/mux
Zur Datei /etc/postfix/main.cf müssen dann noch folgende Einträge hinzugefügt werden:
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_path = smtpd smtpd_sasl_security_options = noanonymous mailbox_command = /usr/lib/dovecot/deliver
Zum Schluss muss Postfix noch in die SASL-Gruppe aufgenommen werden:
adduser postfix sasl
Nach einem Neustart des SASL-Dienstes und Postfix, ist die Authentifizierung eingerichtet:
/etc/init.d/saslauthd restart /etc/init.d/postfix restart
Postfix-Verbindungen verschlüsseln
Wer einen Mailserver im Internet betreibt sollte eine Verschlüsselung der SMTP-Verbindungen einrichten. Im Folgenden zeige ich, wie man das vorinstallierte Dummy-Zertifikat nutzt. Wer einen größeren (kommerziellen) Mailserver betreiben möchte, sollte sich allerdings ein Zertifikat von einer respektierten Zertifizierungsstelle besorgen.
Die Einrichtung der Verschlüsselung ist schnell erledigt. Füge einfach die folgenden Zeilen zur Datei /etc/postfix/main.cf hinzu:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level = may
Dovecot einrichten
Bisher haben wir nur Postfix konfiguriert, welcher für das Verschicken und das Zustellen von E-Mails zuständig ist. Jetzt brauchen wir noch einen Dienst, der uns unsere Postfächer bereitstellt. Das erledigt Dovecot für uns. Die Konfiguration ist dabei schnell erledigt. Öffne die Datei /etc/dovecot/dovecot.conf und passe folgende Einträge an:
protocols = imaps ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key mail_location = dbox:%h/dbox
Dann muss auch hier nochmal “der Verantwortliche” eingetragen werden (bei entsprechenden Zeilen die Kommentare entfernen und den Eintrag ergänzen):
protocol lda {
postmaster_address = <E-Mail>
}
Jetzt noch einmal kurz Dovecot neustarten und der Server ist fertig eingerichtet:
/etc/init.d/dovecot restart
Sicherheit testen
Am Anfang habe ich ja schonmal kurz das Problem der offenen Mail-Relays angesprochen. Um sicherzugehen, dass dein Server kein offenes Mail-Relay darstellt, bedienen wir uns der MXToolbox. Auf dieser Seite kannst du diverse Tests gegen deinen Mailserver fahren lassen. So kann z.B. generell erst einmal festgestellt werden, ob dein Mailserver erreichbar ist oder ob dein Mailserver auf einer so genannten Blacklist steht. Was uns nun aber am meisten Interessiert ist die Prüfung auf ein offenes Mail-Relay. Gebe dazu in das Suchfeld folgendes ein:
smtp:<Domain>
In meinem Fall müsste man also
smtp:techspread.de
eingeben. Dort solltest du ein ähnliches Ergebnis bekommen, sonst läuft etwas falsch:

(Weiterführende) Quellen
Dovecot und Postfix bieten noch wesentlich mehr Optionen als die hier vorgestellten an. Viele weitere Informationen bekommt ihr deshalb auf den folgenden Seiten:
- Spamfilter (SpamAssassin) und Virenfilter (ClamAV) einrichten
- Offizielle Postfix-Dokumentation
- Offizielle Dovecot-Dokumentation
- Catch-All-Adresse einrichten
- Postfix-Spickzettel [unixwitch]
- Postfix-Konfiguration im ubuntuusers-Wiki
- Erweitere Postfix-Konfiguration im ubuntuusers-Wiki
- Dovecot-Konfiguration im ubuntuusers-Wiki
Veröffentlicht am 23.05.2010

Marius schrieb am 25. Mai 2010
Vielen Dank für die Arbeit die du dir mit der Anleitung gemacht hast.
Werde das ganze mal ausprobieren und berichten
Gruß
Marius
Maxim schrieb am 25. Mai 2010
Ich bin jetzt nicht sicher wo das Problem liegt, aber gerade habe ich eine Mail bekommen (Kommentar-Benachrichtigung wollte eine Mail an dich senden):
: host techspread.de[78.47.40.xy] said: 530
5.7.0 Must issue a STARTTLS command first (in reply to MAIL FROM command)
Final-Recipient: rfc822; patrick@techspread.de
Action: failed
Status: 5.7.0
Remote-MTA: dns; techspread.de
Diagnostic-Code: smtp; 530 5.7.0 Must issue a STARTTLS command first
Ist nur zur Info. Kannst den Kommentar auch löschen
Patrick schrieb am 25. Mai 2010
Argh… dann muss ich das oben auch anpassen, hab da viel am Wochenende dran gespielt
Dein Server kann mir die Mail nicht zukommen lassen, weil er sich mit TLS verbinden soll… Nun weiß ich auch, warum ich die letzten Tage auch kein Spam mehr bekomme habe
Patrick schrieb am 25. Mai 2010
So Artikel ist angepasst, hatte einen kleinen Hinweis bei einer meiner Quellen überlesen
Nun muss man evtl. selber darauf achten, dass man beim Client STARTTLS aktiviert. Mit der vorherigen Konfig wurde man dazu gezwungen.
Das Problem war nur, dass mein Server auch E-Mails von anderen Servern abgelehnt hat, die kein STARTTLS unterstützen.
Aber nun sollte wie gesagt alles laufen
Maxim schrieb am 25. Mai 2010
Jetzt darfst du wieder Viagra-Angebote aussortieren
Patrick schrieb am 25. Mai 2010
Achjoa… das hält sich bei mir in Grenzen… Vielleicht sollte ich mal Spamassasin und Greylisting einbinden… das wäre dann auch als Erweiterung für diesen Artikel gut.
Patrick schrieb am 27. Juni 2010
@Marius: Inzwischen getestet?
Patrick schrieb am 20. Juli 2010
Heute habe ich eine Anleitung geschrieben, wie man diesen Mailserver noch mit einem Spam- und Virenfilter ausstattet: http://www.patrick-gotthard.de/4227/postfix-mit-spamfilter-spamassassin-und-virenfilter-clamav
kTn schrieb am 4. Dezember 2010
Wie verbinde ich mich nun mit meinem Clienten auf den IMAP-Server? Als Postausgang wurde bei mir automatisch smtp.domain.tld erstellt, das funktioniert auch. Allerdings komme ich nicht auf den Posteingang…
Bei mir erscheint dovecot auf mysteriöse Weise nicht in /etc/init.d. Hat jemand eine Idee, woran das liegen könnte?
Danke für das Tutorial!
Patrick schrieb am 4. Dezember 2010
@kTn: Hast du auch Ubuntu? Sonst kann ich mir das mit dem fehlenden Eintrag unter init.d nicht erklären – oder bei der Installation ist was schiefgelaufen.
“smtp.domain.tld” soll das stellvertretend für deine echte Domain sein, oder steht das wirklich so dort? Dann hast du wahrscheinlich komplett was falsch gemacht. Dein Posteingang ist nach dieser Anleitung per IMAPS erreichbar, da musst du ggf. das SSL-Zertifikat akzeptieren.
Ich würde sagen, lies dir die weiterführenden Quellen einmal durch, dann weisst du auch genau, was du da tust
Michael schrieb am 23. Dezember 2010
Ich kann bei der PostFix Konfiguration nicht auswählen ? :O
Patrick schrieb am 23. Dezember 2010
@michael: Was kannst du nicht auswählen?
Michael schrieb am 24. Dezember 2010
dieses was bei der konfiguration kommt, wo man internet site auswhälen soll.
Michael schrieb am 24. Dezember 2010
dieses ok dort
Frank schrieb am 8. Januar 2011
klasse anleitung. trotzdem stehe ich irgendwie auf dem schlauch. alles gemacht wie es da steht ,aber ich bekomme es nicht hin mich mit outlook zu verbinden und mails abzuholen bzw zu schicken
bei mir steht in der mail.log
warning: SASL: connect to /usr/lib/postfix/smtpd failed: No such file or directory
fatal: no SASL authentication mechanismus
hast du irgendeinen rat für mich wo der fehler ist ???
gruß frank
Patrick schrieb am 8. Januar 2011
@Frank: Wenn ich deine Fehlermeldung bei Google eingebe, bekommt man schon ein paar Suchresultate. Am wahrscheinlichsten kommt mir vor, dass dein SASL-Daemon nicht gestartet ist.
Tippe mal
ein und starte dann auch den Postfix neu. Eventuell wird dein SASL-Daemon nicht automatisch mitgestartet, siehe hier.
frank schrieb am 9. Januar 2011
saslauthd läuft …. aber trotzdem kommt die fehlermeldung und im outlook bekomme ich den fehler “socketfehler 10061 fehlernummer: 0x800CCC0E”
hmm irgendwie hab ich keinen durchblick mehr
Patrick schrieb am 9. Januar 2011
Hmm sorry, dann kann ich dir so nicht weiterhelfen. Am besten suchst du mal weiter nach der Fehlermeldung oder wendest dich z.B. an das UbuntuUsers-Forum, die können einem immer sehr schnell helfen.
Mounty schrieb am 14. Januar 2011
Danke für die Anleitung, war super einfach und funktioniert alles 1a
Gruß aus dem Norden,
Mounty
Matthias schrieb am 17. Januar 2011
Hallo,
danke für das tolle Tutorial.
Aber wie kann man jetzt mit Outlook die Mails abholen bzw. versenden?
Was soll man denn als Pop3-Server verwenden?
Ich habe pop3.meinedomain.de verwendet – funzt nicht – dann smtp.meinedomain.de – geht auch nicht?
Pop3: pop3.meinedomain.de oder smtp.meinedomain.de
SMTP: smtp.meinedomain.de
Weiterhin habe ich natürlich den User angelegt – aber versuche ich mich jetzt über SSH als diesen User anzumelden, werde ich sofort wieder ausgeloggt und erhalte die Meldung
“permitted by applicable law.
You have new mail.”
aber wie gesagt – ich bin sofort wieder “Not connected”
Irgendwie verstehe ich das alles nicht recht.
Grübel.
Gruß Matthias
Patrick schrieb am 17. Januar 2011
Auweia Matthias, bist du dir sicher, dass du einen öffentlichen Mailserver betreiben willst? Mir scheint, du hast kaum Ahnung, was du da tust
Ist nicht böse gemeint, ich hab aber schon oben geschrieben, warum man sich etwas auskennen sollte. Der User soll beabsichtigt kein SSH-Zugriff bekommen, deshalb bekommt er /bin/false als Shell zugewiesen. Sonst würde jeder Mailuser auch SSH-Zugriff auf dein System bekommen.
Versuche es außerdem mal nur mit meinedomain.de, pop3 und andere Subdomains greifen nur, wenn du diese auch in deinem DNS-Server einträgst. Sicherlich hast du das so versucht, da große Mailbetreiber das so machen.
Matthias schrieb am 17. Januar 2011
Hallo Patrick,
ja – ich bin noch absoluter Noob. Aber man muss ja irgendwann mal anfangen. Andere User bekommen keinen Mailaccount auf meinem Server.
Über mutt kann ich Mails versenden und emfangen – über Outlook klappt jetzt schonmal der Emfang aber das Senden nicht.
“Es kann keine Verbindung zum Mailausgangsserver hergestellt werden”
Auch mit Squirrelmail kann ich keine Mails verschicken.
Fehlermeldung:
“Connection refused -111 Can’t open SMTP stream.”
Grübel
Gruß Matthias
Patrick schrieb am 28. Februar 2011
Ich habe die Anleitung noch um den Eintrag
erweitert, da E-Mails sonst ab Ubuntu 10.04 LTS nicht mehr zugestellt werden können.
Braun schrieb am 28. Februar 2011
Hey danke für die Einleitung Sie war super.
nur ich habe das Problem das ich Email´s versenden kann aber keine Empfangen. Da kann ich noch so oft auf senden empfangen drücken.
Bitte um Hilfe:)
danke im vorraus
Patrick schrieb am 28. Februar 2011
Wann hast du die Anleitung umgesetzt? Ich habe heute erst die Anpassung der main.cfg in dem Artikel aktualisiert, da Ubuntu 10.04 oder höher eine separate Angabe des Befehles zum Zustellen der E-Mails benötigt.
Die entsprechende Anpassung findest du einen Kommentar vor dir. Was genau bekommst du denn für einen Fehler, wenn du E-Mails abrufen willst? Keine Verbindung? Einfach keine E-Mails (dann kann es gut sein, dass die entsprechende Anpassung fehlt)?
Patrick schrieb am 28. Februar 2011
Gute Fehlerquellen findet man übrigens unter /var/log/mail.info oder /var/log/mail.error.
Braun schrieb am 28. Februar 2011
Hey ich habe deine Einstellungen bzw die Konfiguration vor einer stunde gemacht.
Aus den Log dateien werde ich leider nicht schlau….
ICh habe mich mit Outlook 2010 verbunden. versenden von Email klappt einwand frei, wenn ich auf senden7empfangen klicke, bekomme ich auch keine Fehlermeldung.
Ich habe von mehrer Email adressen mir eine Mail zuschicken lassen.
Dann bekomme ich diese Fehlermeldung wenn ich mir selber was schicken will:
This is the mail system at host artur.der-braun.de.
I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
: local configuration error
Braun schrieb am 28. Februar 2011
Feb 28 21:17:34 artur postfix/smtpd[1392]: connect from XXXXXX:XXXXXX:XXXXXX[XXX.XXX.XXX.X]
Feb 28 21:17:34 artur postfix/smtpd[1392]: 7228838E102C: client=mail-clear.XXX.de[XXX.XXX.XXX.X]
Feb 28 21:17:34 artur postfix/cleanup[1398]: 7228838E102C: message-id=
Feb 28 21:17:34 artur postfix/qmgr[31900]: 7228838E102C: from=, size=3871, nrcpt=1 (queue active)
Feb 28 21:17:34 artur deliver(braun): Fatal: postmaster_address setting not given
Feb 28 21:17:34 artur postfix/local[1399]: 7228838E102C: to=, relay=local, delay=0.14, delays=0.12/0.01/0/0.01, dsn=5.3.5, status=bounced (local configuration error)
Feb 28 21:17:34 artur postfix/cleanup[1398]: 8DDBF38E102E: message-id=
Feb 28 21:17:34 artur postfix/bounce[1401]: 7228838E102C: sender non-delivery notification: 8DDBF38E102E
Feb 28 21:17:34 artur postfix/qmgr[31900]: 8DDBF38E102E: from=, size=5657, nrcpt=1 (queue active)
Feb 28 21:17:34 artur postfix/qmgr[31900]: 7228838E102C: removed
Feb 28 21:17:35 artur postfix/smtpd[1392]: disconnect from XXXXXX.XXXXX.XX[XXX.XXX.XXX.X]
Feb 28 21:17:35 artur postfix/smtp[1402]: 8DDBF38E102E: to=, relay=mail-clear.XXX.de[XXX.XXX.XXX.X]:25, delay=1.1, delays=0.01/0/0.27/0.82, dsn=2.0.0, status=sent (250 2.0.0 p1SLHYge008052 Message accepted for delivery)
Feb 28 21:17:35 artur postfix/qmgr[31900]: 8DDBF38E102E: removed
Ich hoffe das hilft weiter….
Braun schrieb am 1. März 2011
Feb 28 23:04:16 artur deliver(braun): Fatal: postmaster_address setting not given
Dieser fehler taucht andauernd in mail.err
Patrick schrieb am 1. März 2011
Hey Braun,
schau mal, ob dir der der Beitrag von MichiGreat weiterhilft: http://forum.ubuntuusers.de/post/1294316/
Hans schrieb am 11. März 2011
Hallo Patrick,
Danke für Deine gelungene Anleitung. Allerdings musste ich noch folgende Zeilen in dovecot.conf hinzufügen:
protocol lda {
# Address to use when sending rejection mails.
postmaster_address = postmaster@example.net
# Hostname to use in various parts of sent mails, eg. in Message-Id.
# Default is the system’s real hostname.
hostname = example.net
# Support for dynamically loadable plugins. mail_plugins is a space separated
# list of plugins to load.
#mail_plugins = quota
mail_plugin_dir = /usr/lib/dovecot/modules/lda
# Binary to use for sending mails.
sendmail_path = /usr/lib/sendmail
# UNIX socket path to master authentication server to find users.
auth_socket_path = /var/run/dovecot/auth-master
# Enabling Sieve plugin for server-side mail filtering
#mail_plugins = cmusieve
}
VG Hans
Jan schrieb am 22. März 2011
Hallo,
Ich habe nun meinen Mailserver nach deinem Tutorial eingerichtet, habe nun jedoch ein Problem.
Wenn ich versuche von meiner anderen Email-Adresse aus eine Email an den neuen Server zu schicken, bekomme ich die Mail aus folgendem Grund zurück:
Remote host said: 554 5.7.1 : Relay access denied [RCPT_TO]
Wie schaffe ich es, dass der Server des Providers meinen Mailserver akzeptiert? Oder liegt das Problem woanders?
Mit freundlichen Grüßen
Patrick schrieb am 22. März 2011
Von welchem Server kommt diese Meldung? Von deinem eigenen oder von dem Mailserver des Empfängers?
Jan schrieb am 22. März 2011
Okay, das versenden klappt nun, musste die Domain einfach nur in der postfix-Konfiguration eintragen.
Jetzt habe ich jedoch das Problem, dass ich zwar per “mail” die Emails auf dem Server (via SSH) lesen kann, sie jedoch nicht in meinem IMAP-Posteingang in Outlook erscheinen. Die Verbindung funktionert, das Senden von Nachrichten auch, aber der Posteingang bleibt leer. Warum?
Patrick schrieb am 22. März 2011
Hmm da bin ich im Moment überfragt, da ich mit dieser Konfig einwandfrei auch Outlook nutzen kann. Schau mal nach, ob du die E-Mails mit Thunderbird sehen kannst… Wenn das Prostfach auch dort leer ist, dann ist irgendwas falsch eingerichtet
Jan schrieb am 22. März 2011
Hallo,
Auch in Thunderbird werden die Nachrichten nicht angezeigt. Ich weiß jedoch, dass sie auf dem Server sind, und auch, dass sie dem richtigen Benutzer zugeordnet sind, da ich sie ja wie gesagt mit “mail” sehen kann.
Hast du eine Idee wo ich etwas falsch eingestellt haben könnte? Muss ja etwas mit dovecot zu tun haben, da die Mails ja richtig empfangen werden.
Patrick schrieb am 22. März 2011
Hast du vielleicht den Eintrag
vergessen. Ich meine mal genau dasselbe Phänomen gehabt zu haben. In dem Fall werden die E-Mails von Postfix gehalten und nicht an Dovecot übergeben. Ansonsten sind die Log-Dateien, die mit “mail” beginnend unter /var/log liegen recht hilfreich, falls es sich um einen Konfigurationsfehler handelt.
Welches Betriebssystem hast du denn genau am Laufen? Ich werde mit gleich mal ein Ubuntu-Testsystem installieren und das nochmal alles prüfen…
Jan schrieb am 22. März 2011
Hallo,
Der Eintrag fehlte tatsächlich, jedoch bleibt meine Inbox auch nachdem ich ihn geändert habe leer. (Dienste wurden allesamt neu gestartet).
Betriebssystem ist Ubuntu 10.04.
Die Logdateien sagen mir folgendes:
Mar 22 20:39:00 h1875264 postfix/local[13632]: 43CFD1E4C66A: to=, relay=local, delay=0.22, delays=0.21/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Und dovecote nimmt auch meine Logins via IMAP wahr, liefert mir jedoch nicht meine Mails.
Also hakt es irgendwo zwischen Empfang der Email und Weitergabe an bzw. Abholen von dovecot.
Patrick schrieb am 22. März 2011
Schick dir mal eine neue E-Mail, es kann sein, dass die “alten” E-Mails garnicht oder erst nach einer Zeit zugestellt werden.
Jan schrieb am 22. März 2011
Habe mir schon mehrmals Emails geschickt, welche auch jedes mal von postfix in meine mailbox gelegt wurden (angeblich).
Dort sehe ich sie zwar nach wie vor per SSH, jedoch nicht in meinem Email-Client per IMAP.
Könnte es über POP3 vielleicht klappen? Aber eigentlich sollte es ja auch mit IMAP keine Probleme geben…
Oder benutze ich gar einen falschen user? Eigentlich sollte doch der Systembenutzer (Ich nenne ihn einfach mal so)
erwin die Emails, die an die Adresse erwin@example.org geschickt werden in seiner mailbox haben, oder?
Patrick schrieb am 22. März 2011
Schau mal, ob unter /home/erwin ein Ordner namens dbox existiert. Das ist der Ordner, in dem Dovecot die E-Mails ablegt. Du kannst mit mail noch die E-Mails lesen, da mail die E-Mails aus dem so genannten Spooler liest. Wenn diese dort verharren, werden die E-Mails nicht an Dovecot weitergeleitet. Ich setze gleich ein Testsystem auf und überprüfe nochmal alle Einstellungen.
Jan schrieb am 22. März 2011
Ja, der Ordner /home/erwin/dbox existiert und ist auch für dovecot zugänglich (Das denke ich jedenfalls, ls -l gibt mir
“drwxrwx— 3 erwin users 4096 2011-03-22 20:20 dbox”
, also sollte das klappen.
ich habe leider keine Ahnung woran es noch liegen könnte.
Jan schrieb am 22. März 2011
Gerade entdeckt:
in /home/erwin ist auch die Datei “mbox”, in welcher anscheinend alle Emails gespeichert sind, welche ich an die Adresse bisher geschickt habe. Also schiebt postfix sie einfach nur in die falsche Datei?
Patrick schrieb am 22. März 2011
Dann hast du mit Sicherheit Dovecot eine Zeit lang mit
gestartet gehabt. Hmm… ich würde sagen, dann stell die Mail-Location wieder auf das mbox-Format um, starte Dovecot neu, sichere die E-Mails (geht z.B. gut mit Thunderbird), stelle dann wieder auf dbox um und starte den Server neu. Allerdings wundert mich, dass auch neue E-Mails nicht angezeigt werden und beide Ordner existieren. Irgendwas sollte er dann zumindest anzeigen
Jan schrieb am 22. März 2011
Wie stelle ich das ganze denn um?
Einfach “dbox” durch “mbox” ersetzen?
(“mail_location = mbox:%h/mbox”)
Wenn ja, dann meldet Outlook mir beim Verbinden zum Server einen “SERVERBUG”
Fehler (0x800CCCD2) beim Ausführen der Aufgabe “Abonnierte Ordner für ‘erwin@example.com’ werden synchronisiert”: “Von Outlook können keine abonnierten Ordner für erwin@example.com‘ synchronisiert werden. Fehler: Servermeldung: “SERVERBUG] Internal error occurred. Refer to server log for more information. [2011-03-22 21:36:45]
Sobald ich dann wieder auf dbox umstelle, bekomme ich keine Fehlermeldung mehr.
Patrick schrieb am 22. März 2011
Schau dich mal auf der Wiki-Seite von Dovecot um, ich hab das leider auch nicht alles im Kopf: http://wiki2.dovecot.org/MailboxFormat
Gerade habe ich das Grundsystem installiert, kann sich also nurnoch um Stunden handeln
Jan schrieb am 22. März 2011
Also ich weiß jetzt wieso das ganze mit dbox nicht funktioniert hat. Postfix unterstützt das dbox-Format einfach nicht.
Aber auch nach der Umstellung auf mbox funktioniert es noch nicht, weil dann oben genannter Fehler von Outlook kommt und folgende Meldung in den Logs steht:
Mar 22 22:03:39 h1875264 dovecot: IMAP(erwin): open() failed with subscription file /home/erwin/mbox/.subscriptions: Not a directory
Patrick schrieb am 22. März 2011
Postfix muss dbox auch nicht unterstützen, das macht Dovecot ja
Genau dieses Setup (mit dbox) habe ich seit über einem Jahr auf meinem Server laufen, ich prüfe nur gerade, ob ich irgendwo einen Schritt vergessen habe zu dokumentieren.
Jan schrieb am 22. März 2011
Oh wow, es funktioniert!
Der Fehler war, wie vorhin vermutet, die mail_location!
Hier die Einstellung mit der es funktioniert:
“mail_location = mbox:~/mail:INBOX=/var/mail/%u”
Und schon kann ich mir meine Emails via IMAP holen.
Ich danke dir für deine geduldige Hilfe, und vielleicht solltest du die Anleitung entsprechend anpassen.
Dankeschön!
Patrick schrieb am 22. März 2011
@Jan: Ich habe die Zeilen
protocol lda { postmaster_address = E-Mail des Administrators }leider oben in der Anleitung vergessen und nun ergänzt. Habe die Anleitung eben nochmal 1:1 auf einem Testsystem getestet, läuft mit diesen Zeilen einwandfrei.
Patrick schrieb am 22. März 2011
@Jan: Nein daran lag es nicht. Jetzt hast du einfach das Standard-Format (mbox) von Postfix und den Spooler-Ordner (/var/mail) als Quelle angegeben.
Nun zieht sich Dovecot die E-Mails einfach aus diesem Ordner. Das bestätigt, dass die E-Mails nicht richtig an Dovecot übergeben wurden… Das läuft so zwar, aber dbox soll laut Hersteller bessere Performance leisten. Außerdem finde ich die Sicherung über /home besser – ist aber Geschmackssache.
Update) Postfix kann wie du gesagt hast kein dbox-Format, aber es läuft eigentlich so ab:
- Postfix bekommt die E-Mail zugestellt
- Die E-Mail wird an Dovecot (genauer gesagt deliver) übergeben
- Dovecot speichert die E-Mail an dem angegebenen Ort in dem gewünschten Format
Wie bereits gesagt: genau diese Config läuft auf meinem Server seit über einem Jahr und ich hatte bisher keinerlei Probleme.
Jan schrieb am 23. März 2011
Hallo,
Also der Mailserver tut jetzt alles was er soll, nur die Meldung von Outlook dass mit dem zertifikat etwas nicht stimmt ist etwas nervig, aber da lässt sich wohl nichts gegen machen.
Wenn ich allerdings, wie du weiter oben geschrieben hast, die postmaster_address setze, so verweigert der Server den Start,
Error: Error in configuration file /etc/dovecot/dovecot.conf line 750: Unknown setting: postmaster_address
Fatal: Invalid configuration in /etc/dovecot/dovecot.conf
Was ist daran nun falsch? Adresse ist postmaster@meinedomain.eu. Wieso funktioniert das nun nicht?
Jan schrieb am 23. März 2011
UPDATE:
Ich bin doof, habe natürlich vergessen, dass “protocol lda {” auskommentiert ist. Habe es nun berichtigt, und jetzt funktioniert auch alles.
Allerdings war das nicht die Fehlerquelle von gestern, aber da dort nun auch alles funktioniert werde ich nichts mehr ändern.
Wie heißt es so schön? Never touch a running system.
Patrick schrieb am 23. März 2011
Hast du das auch in dem entsprechenden protocol lda-Abschnitt konfiguriert? Wenn du das ganz an das Ende setzt, bekommst du natürlich einen Fehler.
Das mit dem Zertifikat liegt daran, da das ein selbstsigniertes Zertifikat ist. Wenn du die Warnung wegbekommen möchtest, musst du entweder auf das unverschlüsselte IMAP ausweichen, oder dir ein Zertifikat bei einer anerkannten CA kaufen. Alternativ (wenn nur du den Mailserver benutzt) kannst du das Zertifikat auch importieren.
Jan schrieb am 23. März 2011
Ja, ich hab’s im ensprechenden Abschnitt konfiguriert, der Fehler war da Auskommentierte.
Ich bin mittlerweile zu POP3 übergegangen, wie kann ich dort denn eine unverschlüsselte Verbindung einstellen?
Patrick schrieb am 23. März 2011
Bei protocols muss auf jeden Fal auch pop3 aktiviert sein und dann im Client (Outlook) halt sagen, dass Standard POP3 verwendet werden soll. Kannst natürlich auch einfach POP3S (heisst das überhaupt so?
) abschalten. Ich wundere mich gerade, dass dein Dovecot POP3 ausliefert, oder hast du das entsprechende Paket von Dovecot installiert? Aber mal ehrlich… da hat man schon einen schönen Mailserver und dann POP3 nutzen…
Jan schrieb am 23. März 2011
Ja, pop3 habe ich aktiviert (Habe das entsprechende Paket nachinstalliert, ganz alleine! *stolz bin*). Okay, also einfach pop3s (Ja, heißt so
) aus der Liste nehmen, ja? Dann steht dort:
protocols = imap imaps pop3
IMAP lasse ich drin, falls ich es mir anders überlege. Schadet ja wohl nicht.
Aber nachdem ich nun pop3s rausgenommen habe, kann ich mich nichtmehr anmelden (via POP3):
Antwort des Servers: -ERR Plaintext authentication disallowed on non-secure (SSL/TL
Woran liegt das nun?
Naja, ich bin eben an POP3 gewöhnt, ich bekomme über IMAP anscheinend nichtmal eine EMail gelöscht.
Patrick schrieb am 23. März 2011
Du musst den POP3-Account neu hinzufügen, aber nicht vergessen, davor deine E-Mails zu sichern (die sind nämlich bei POP3 weg, wen du die nicht lokal sicherst oder den Client entsprechend konfigurierst). Dein Outlook ist ja nun auf POP3S eingestellt, das muss auf das normale POP3 umgestellt werden.
Jan schrieb am 23. März 2011
Umgestellt hatte ich das schon, funktioniert aber trotzdem nicht, mein Passwort wird nicht angenommen, der Eingabe-Dialog erscheint einfach immer wieder, bis ich auf Abbrechen klicke.
Emails sichern muss ich nicht, der Account ist, wenn überhaupt EMails da sind, nur vollgestopft mit Testnachrichten
Patrick schrieb am 23. März 2011
Hmmm… sorry mit POP3 kenne ich mich dann zu wenig aus bei Dovecot. Wenn bisher eh nur Testmails drauf sind, dann versuch doch lieber nochmal, IMAP eingerichtet zu bekommen
Jan schrieb am 23. März 2011
Okay
IMAP ist ja eingerichtet und funktioniert auch tadellos, nur irritiert es mich das ich keine EMails löschen kann.
(Habe noch nie IMAP benutzt, vielleicht ist das ja normal?)
Aber auch dort hätte ich dann das Problem mit dem Zertifikat.
Patrick schrieb am 23. März 2011
Also eigentlich sollte E-Mails löschen genauso gehen, wie sonst auch mit POP3
Also ich kann diesen Server hier wunderbar mit Thunderbird und Outlook 2010 nutzen. Kann es sein, dass du Outlook Express verwendest? Dann musst du eventuell noch was am Server einstellen, einfach mal googlen oder in den oben verlinkten Artikeln stöbern.
Jan schrieb am 23. März 2011
Nein, ich benutze Outlook 2010
Die E-Mails werden zwar durchgestrichen, jedoch sind sie dann ja immer noch da. Endgültig löschen geht also nicht?
Und: Kann ich den IMAP-Posteingang irgendwie in den normalen Posteingang integrieren? Zwei separate Eingänge sind mir nicht gerade sympathisch.
Patrick schrieb am 23. März 2011
Achso, die werden durchgestrichen… ja deshalb nutze ich Outlook auch ungerne, da muss man sehr viel einrichten, bevor man IMAP komfortabel nutzen kann. Du musst irgendwo in den Einstellungen sagen, dass E-Mails wirklich gelöscht und nicht nur als gelöscht markiert werden sollen. Dass du einen separaten Posteingang im Posteingang hast, kann ich mir gerade nicht erklären…
Jan schrieb am 23. März 2011
Ich habe keinen Posteingang im Posteingang, ich habe einen neuen… “Ordner” (In Ermangelung eines besseren Namens). Wenn ich darauf klicke, sehe ich folgendes:
“Der Ordner kann nicht angezeigt werden. Dies ist der Stamm eines IMAP-Speichers. [...]”
Der Posteingang ist ein Unterordner dieses Ordners.
Ich hätte nun gerne nicht diesen Unterordner, sondern würde die E-Mails vom IMAP-Server zusammen mit denen von meinen anderen E-Mail-Adressen (POP3) in einem Posteingang haben. Ist das überhaupt möglich?
Patrick schrieb am 23. März 2011
Uff keine Ahnung, was Outlook da so hergibt, ich bin eher der Thunderbird-Nutzer
Das schöne an IMAP ist ja, dass du auch Unterordner erstellen kannst, in die du E-Mails z.B. thematisch einordnen kannst.
Patrick schrieb am 23. März 2011
Ich habe eben im Ubuntu Server Guide gelesen, dass es das Paket postfix-dovecot gibt, welches wohl die ganze Einrichtung oben automatisiert
Ich werde das wenn ich Zeit habe mal testen, wäre schon extrem komfortabel, einfach dieses Paket zu installieren, SSL-Schlüssel austauschen und fertig
Patrick schrieb am 24. März 2011
Oh man, das rockt:
und fertig ist die Lauge
Jan schrieb am 24. März 2011
Na super.
Aber okay, jetzt kann ich wenigstens von mir behaupten das ich erfolgreich einen Mailserver aufgesetzt habe!
Ich danke dir nochmal viemals für deine geduldige und ausführliche Hilfe!
Patrick schrieb am 24. März 2011
Ich habe nun einen neuen Artikel veröffentlicht, der die Installation des Mailservers wesentlich vereinfacht: http://www.patrick-gotthard.de/6905/sicheren-mailserver-unter-ubuntu-installieren-in-weniger-als-5-minuten