Postfix Konfiguration · 2 min read · Oct 07, 2025

Virtuelle Benutzer und Domains mit Postfix, Courier und MySQL (Debian Etch) - Seite 3

6 Konfigurieren von Saslauthd

Zuerst ausführen

mkdir -p /var/spool/postfix/var/run/saslauthd

Dann bearbeiten Sie /etc/default/saslauthd. Setzen Sie START auf yes und ändern Sie die Zeile OPTIONS=”-c” in OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”:

vi /etc/default/saslauthd

| # # Einstellungen für den saslauthd-Daemon # # Soll saslauthd beim Start automatisch ausgeführt werden? (Standard: nein) START=yes # Welche Authentifizierungsmechanismen sollte saslauthd verwenden? (Standard: pam) # # Verfügbare Optionen in diesem Debian-Paket: # getpwent -- verwenden Sie die getpwent() Bibliotheksfunktion # kerberos5 -- verwenden Sie Kerberos 5 # pam -- verwenden Sie PAM # rimap -- verwenden Sie einen Remote-IMAP-Server # shadow -- verwenden Sie die lokale Schattenpasswortdatei # sasldb -- verwenden Sie die lokale sasldb-Datenbankdatei # ldap -- verwenden Sie LDAP (Konfiguration befindet sich in /etc/saslauthd.conf) # # Es darf jeweils nur eine Option verwendet werden. Siehe die saslauthd-Man-Seite # für weitere Informationen. # # Beispiel: MECHANISMS="pam" MECHANISMS="pam" # Zusätzliche Optionen für diesen Mechanismus. (Standard: keine) # Siehe die saslauthd-Man-Seite für Informationen zu mechanik-spezifischen Optionen. MECH_OPTIONS="" # Wie viele saslauthd-Prozesse sollten wir ausführen? (Standard: 5) # Ein Wert von 0 wird einen neuen Prozess für jede Verbindung erzeugen. THREADS=5 # Weitere Optionen (Standard: -c) # Siehe die saslauthd-Man-Seite für Informationen zu diesen Optionen. # # Beispiel für Postfix-Benutzer: "-c -m /var/spool/postfix/var/run/saslauthd" # Hinweis: Siehe /usr/share/doc/sasl2-bin/README.Debian OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" |

Dann erstellen Sie die Datei /etc/pam.d/smtp. Sie sollte nur die folgenden zwei Zeilen enthalten (stellen Sie sicher, dass Sie Ihre korrekten Datenbankdetails ausfüllen):

vi /etc/pam.d/smtp

| auth required pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 |

Als nächstes erstellen Sie die Datei /etc/postfix/sasl/smtpd.conf. Sie sollte so aussehen:

vi /etc/postfix/sasl/smtpd.conf

| pwcheck_method: saslauthd mech_list: plain login allow_plaintext: true auxprop_plugin: mysql sql_hostnames: 127.0.0.1 sql_user: mail_admin sql_passwd: mail_admin_password sql_database: mail sql_select: select password from users where email = '%u' |

Dann starten Sie Postfix und Saslauthd neu:

/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart

7 Konfigurieren von Courier

Jetzt müssen wir Courier mitteilen, dass es sich gegen unsere MySQL-Datenbank authentifizieren soll. Zuerst bearbeiten Sie /etc/courier/authdaemonrc und ändern den Wert von authmodulelist, sodass er lautet:

vi /etc/courier/authdaemonrc

| [...] authmodulelist="authmysql" [...] |

Dann machen Sie eine Sicherung von /etc/courier/authmysqlrc und leeren die alte Datei:

cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig  
cat /dev/null > /etc/courier/authmysqlrc

Dann öffnen Sie /etc/courier/authmysqlrc und fügen die folgenden Zeilen ein:

vi /etc/courier/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

Dann starten Sie Courier neu:

/etc/init.d/courier-authdaemon restart  
/etc/init.d/courier-imap restart  
/etc/init.d/courier-imap-ssl restart  
/etc/init.d/courier-pop restart  
/etc/init.d/courier-pop-ssl restart

Durch Ausführen von

telnet localhost pop3

können Sie sehen, ob Ihr POP3-Server korrekt funktioniert. Es sollte +OK Hello there. zurückgeben. (Geben Sie quit ein, um zur Linux-Shell zurückzukehren.)

server1:/etc/postfix# telnet localhost pop3  
Trying 127.0.0.1...  
Connected to localhost.localdomain.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.

8 Ändern von /etc/aliases

Jetzt sollten wir /etc/aliases öffnen. Stellen Sie sicher, dass der Postmaster auf root und root auf Ihren eigenen Benutzernamen oder Ihre E-Mail-Adresse zeigt, z.B. so:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

Wann immer Sie /etc/aliases ändern, müssen Sie danach

newaliases

ausführen und Postfix neu starten:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.