ist denn einer unter Euch (in diesem thread) der einen non-Docker mail server eingerichtet hat und heute betreibt?
Postfix mailserver einrichten - senden geht, empfangen nicht.
-
webdesignheld -
27. Dezember 2025 um 11:01 -
Erledigt
-
-
Ja. Basis ist noch AlmaLinux 8, darum muss ich auch bald ran

-
Ja. Basis ist noch AlmaLinux 8
Cool - und verwendet das Dovecot? Mein letztes puzzleteil scheint das sqlite passdb auth socket zu sein. Aber ich werde mich heute noch einmal festbeissen!
vielleicht ist es aber auch der listener - obwohl es wird nach dem passwort gefragt
-
Ja, mein dovecot läuft allerdings gegen auth passwdfile, also eine Datei die aufgebaut ist wie eine etc-passwd, allerdings nur für dovecot und an einer anderen Stelle liegt. Geht gut, weil ich keine Änderung in der Benutzer-Menge habe. Passwort-Änderungen sind dann allerdings immer etwas fummelig.
Die Authentication des Postfix läuft dann gegen sasl dovecot und hat somit das gleiche Passwort ohne gesharte Datenbank.
Wo hängt es bei der sqlite? Tabellen-Format oder SQL-Statements?
-
der einen non-Docker mail server eingerichtet hat und heute betreibt?
Klar. Mehrere. Aber ich musste noch nie debuggen ;-P
Lies einfach "meine" Anleitung...
-
Klar. Mehrere. Aber ich musste noch nie debuggen ;-P
Lies einfach "meine" Anleitung...
Ist auch alles total einfach, man muss es nur richtig konfigurieren ....

-
Wo hängt es bei der sqlite? Tabellen-Format oder SQL-Statements?
Ich weiss nicht aber ich werde es schon noch finden. Hier ist die dovecot.conf :
ZitatAlles anzeigen# 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf
# Pigeonhole version 2.4.1-4 (0a86619f)
# OS: Linux 6.12.48+deb13-amd64 x86_64 Debian 13.2
# Hostname: machine.example.de
# 4 default setting changes since version 2.4.0
dovecot_config_version = 2.4.0
auth_mechanisms = plain login
dovecot_storage_version = 2.4.0
first_valid_uid = 5000
mail_gid = vmail
mail_path = maildir:/var/mail/vhosts/%d/%n
mail_uid = vmail
passdb_default_password_scheme = SHA512-CRYPT
protocols {
pop3 = yes
}
ssl = required
passdb sql {
query = SELECT username AS user, password FROM users WHERE username = '%u'
sql_driver = sqlite
sqlite_path = /etc/mail/mail.sqlite
}
userdb static {
fields {
gid = vmail
home = /var/mail/vhosts/%u
uid = vmail
}
}
ssl_server {
cert_file = /etc/letsencrypt/live/mail.example.de/fullchain.pem
key_file = /etc/letsencrypt/live/mail.example.de/privkey.pem
}
service auth {
unix_listener auth-client {
group = dovecot
mode = 0660
user = dovecot
}
unix_listener auth-userdb {
group = dovecot
mode = 0660
user = dovecot
}
}
service doveadm {
unix_listener doveadm-server {
mode = 0600
user = root
}
}
und wenn ich auth testen will:
ZitatAlles anzeigenroot@machine:~# doveadm auth login info@example.de
Password:
passdb: info@example.de auth failed
extra fields:
user=info@example.de
root@machine:~#
-
Kleiner Hinweis, ab Dovecot 2.4 hat sich die Konfiguration geändert. Dadurch könnten eventuell deine Anleitungen nicht mehr passen.
-
Dovecot 2.4 hat sich die Konfiguration geändert.
ja das hat die KI verwirrt die sich mit mit der alten konfiguration besser auskennt. Aber die von mir gepostete ist 2.4 konform - restart funktioniert
aber mein email user existiert für dovecot nicht ...
-
Mach das Query gegen die Datenbank doch mal manuell und guck was du zurück bekommst.
-
Code
Alles anzeigenroot@machine:~# sqlite3 -column -header /etc/mail/mail.sqlite \ "SELECT password FROM users WHERE username = 'info@example.de';" password ------------------------------------------------------------------------------------------------------------------------ {SHA512-CRYPT}$6$tUdQT2rzbJVX07IH$e31LVrizTTeI8BWTGRe.6zZzhihCQdLPg9af.pYOhDWg8MOGqjZXRCaDMf5vM0Kaq1WILnLMX2hQmlcMZOT7t. root@machine:~# sqlite3 -column -header /etc/mail/mail.sqlite \ "SELECT username AS user, '/var/mail/vhosts/' || substr(username, instr(username,'@')+1) || '/' || substr(username, 1, instr(username,'@')-1) AS home, 5000 AS uid, 110 AS gid FROM users WHERE username = 'info@example.de';" user home uid gid ------------------ ----------------------------------- ---- --- info@example.de /var/mail/vhosts/example.de/info 5000 110 root@machine:~#Zitatroot@machine:~# doveadm user info@example.de
userdb lookup: user info@example.de doesn't exist
field value
root@machine:~#
-
Für mein Verständis kann die {SHA512-CRYPT} weg, $6$ sagt das gleiche.
-
nee dann meckert er:
Enter password to verify:
Fatal: Missing {scheme} prefix from hash
-
Tatsache, auch die Doku führt das auch "doppelt" aus.
Ok, dann zur Sicherheit nochmal generieren ...
doveadm pw -s SHA512-CRYPT
-
hab ich gemacht - auth funktioniert - fetchmail ist zufrieden aber die mail steckt in der queue und weigert sich - bin dran
die sqlite hat permission denied für postfix - und vorher hatte sie das für dovecot - ich bastel mal weiter
-
nicht sharen, sasl im dovecot aktivieren und postfix authentifiziert gegen dovecot.
https://doc.dovecot.org/2.4.2/howto/sasl/postfix.html -
Ok - also alles läuft wunderbar - aber - die mails landen in /var/mail/vhosts/example.de/info/new und fetchmail schaut irgendwo anders und sagt - Keine Mail.
+OK Logged in.
STAT
+OK 0 0
LIST
+OK 0 messages:
ich kann den Sieg schon wittern

.
-
wie übergibt der postfix die mails an den dovecot? LMTP? LDA? oder schreibt der postfix die files? letzteres ist eher ungeschickt, dann willst du https://doc.dovecot.org/2.4.2/howto/lda.html#postfix
-
der schreibt die einfach - ich les das mal durch - vielen dank fuer die hilfe - bis morgen
-
Was machst du eigentlich immer mit fetchmail ? Irgendwie verstehe ich dein Konstrukt nicht so recht
-