E-Mail Konfiguration · 14 min read · Sep 28, 2025

Virtuelle Benutzer und Domains mit Postfix, Courier, MySQL und SquirrelMail (Mandriva 2009.1 x86_64) - Seite 5

15 Installation von SquirrelMail

SquirrelMail ist eine Webmail-Oberfläche, die es Ihren Benutzern ermöglicht, E-Mails in einem Browser zu senden und zu empfangen. Dieses Kapitel zeigt, wie man es installiert und an unser Setup anpasst, damit Benutzer sogar ihr E-Mail-Konto-Passwort über die SquirrelMail-Oberfläche ändern können.

Um SquirrelMail zu installieren, geben wir einfach ein:

urpmi squirrelmail

SquirrelMail wird mit einigen vorinstallierten Plugins geliefert, leider ist keines von ihnen in der Lage, unser E-Mail-Passwort in unserer MySQL-Datenbank zu ändern. Aber es gibt das Change SQL Password-Plugin, das wir manuell installieren können:

cd /var/www/squirrelmail/plugins/ wget http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchange_sqlpass-3.3-1.2.tar.gz tar xvfz change_sqlpass-3.3-1.2.tar.gz cd change_sqlpass cp config.php.sample config.php

Jetzt müssen wir die config.php bearbeiten und an unser Setup anpassen. Bitte passen Sie die Variablen $csp_dsn, $lookup_password_query, $password_update_queries, $password_encryption, $csp_salt_static und $csp_delimiter wie folgt an und kommentieren Sie $csp_salt_query aus:

vi config.php

| [...] $csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail'; [...] $lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4'; [...] $password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"'); [...] $password_encryption = 'MYSQLENCRYPT'; [...] $csp_salt_static = 'LEFT(password, 2)'; [...] //$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"'; [...] $csp_delimiter = '@'; [...] |

Die vollständigen Dateien sehen wie folgt aus:

| * 2002-2005 Paul Lesneiwski <[email protected]> * Dieses Programm ist unter GPL lizenziert. Siehe COPYING für Details * * @package plugins * @subpackage Change SQL Password * */ // Globale Variablen, berühren Sie diese nicht, es sei denn, Sie möchten das Plugin brechen // global $csp_dsn, $password_update_queries, $lookup_password_query, $force_change_password_check_query, $password_encryption, $csp_salt_query, $csp_salt_static, $csp_secure_port, $csp_non_standard_http_port, $csp_delimiter, $csp_debug, $min_password_length, $max_password_length, $include_digit_in_password, $include_uppercase_letter_in_password, $include_lowercase_letter_in_password, $include_nonalphanumeric_in_password; // csp_dsn // // Theoretisch sollte jede von Pear unterstützte SQL-Datenbank hier unterstützt werden. // Der DSN (Data Source Name) muss die Informationen enthalten, // die benötigt werden, um sich mit Ihrem Datenbank-Backend zu verbinden. Ein MySQL-Beispiel ist unten enthalten. // Für weitere Details zur DSN-Syntax und zur Liste der unterstützten Datenbanktypen, // siehe: // http://pear.php.net/manual/en/package.database.db.intro-dsn.php // //$csp_dsn = 'mysql://user:password@localhost/email_users'; $csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail'; // lookup_password_query // // Dieses Plugin wird immer das alte Passwort des Benutzers // mit ihrem Anmeldepasswort überprüfen, aber eine zusätzliche Überprüfung kann auch // gegen die Datenbank für mehr Sicherheit durchgeführt werden, wenn Sie // dies wünschen. Wenn Sie die zusätzliche Passwortüberprüfung nicht benötigen, // stellen Sie sicher, dass diese Einstellung leer ist. // // Dies ist eine Abfrage, die einen positiven Wert zurückgibt, wenn ein Benutzer // und Passwortpaar in der Datenbank gefunden werden. // // Diese Abfrage sollte einen Wert zurückgeben (eine Zeile, eine Spalte), der // Wert sollte idealerweise eine Eins oder eine Null sein, die einfach angibt, dass // das Benutzer-/Passwortpaar tatsächlich in der Datenbank existiert. // // %1 in dieser Abfrage wird durch den vollständigen Benutzernamen ersetzt // (einschließlich Domain), wie z.B. "[email protected]" // %2 in dieser Abfrage wird durch den Benutzernamen (ohne // irgendeinen Domainanteil) ersetzt, wie "jose" // %3 in dieser Abfrage wird durch den Domainnamen ersetzt, // wie "example.com" // %4 in dieser Abfrage wird durch das aktuelle (alte) // Passwort in welchem Verschlüsselungsformat auch immer benötigt wird, gemäß den anderen // Plugin-Konfigurationseinstellungen ersetzt (Beachten Sie, dass die Syntax des // Passworts je nach Ihren Verschlüsselungsentscheidungen bereitgestellt wird, // sodass Sie NIE Anführungszeichen um diesen // Wert in der Abfrage hier bereitstellen müssen.) // %5 in dieser Abfrage wird durch das aktuelle (alte) // Passwort im unverschlüsselten Klartext ersetzt. Wenn Sie kein // Passwortverschlüsselung verwenden, werden %4 und %5 die gleichen Werte sein, // außer dass %4 Anführungszeichen um sich hat und %5 nicht. // //$lookup_password_query = ''; // SCHLECHTE SICHERHEIT: $lookup_password_query = 'SELECT count(*) FROM users WHERE username = "%1" AND plain_password = "%5"'; //$lookup_password_query = 'SELECT count(*) FROM users WHERE username = "%1" AND crypt_password = %4'; $lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4'; // password_update_queries // // Ein Array von SQL-Abfragen, die alle ausgeführt werden, // wann immer ein Passwortänderungsversuch unternommen wird. // // Hier können beliebig viele Abfragen enthalten sein. // Die Abfragen werden in der hier angegebenen Reihenfolge ausgeführt. // // %1 in allen Abfragen wird durch den vollständigen Benutzernamen ersetzt // (einschließlich Domain), wie z.B. "[email protected]" // %2 in allen Abfragen wird durch den Benutzernamen (ohne // irgendeinen Domainanteil) ersetzt, wie "jose" // %3 in allen Abfragen wird durch den Domainnamen ersetzt, // wie "example.com" // %4 in allen Abfragen wird durch das neue Passwort // in welchem Verschlüsselungsformat auch immer benötigt wird, gemäß den anderen // Plugin-Konfigurationseinstellungen ersetzt (Beachten Sie, dass die Syntax des // Passworts je nach Ihren // Verschlüsselungsentscheidungen bereitgestellt wird, sodass Sie NIE Anführungszeichen // um diesen Wert in den Abfragen hier bereitstellen müssen.) // %5 in allen Abfragen wird durch das neue Passwort // im unverschlüsselten Klartext ersetzt - VORSICHT! Wenn Sie kein // Passwortverschlüsselung verwenden, werden %4 und %5 die gleichen // Werte sein, außer dass %4 Anführungszeichen um sich hat // und %5 nicht. // //$password_update_queries = array( // 'UPDATE users SET crypt_password = %4 WHERE username = "%1", // 'UPDATE user_flags SET force_change_pwd = 0 WHERE username = "%1", // 'UPDATE users SET crypt_password = %4, force_change_pwd = 0 WHERE username = "%1", // ); $password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"'); // force_change_password_check_query // // Eine Abfrage, die nach einem Flag prüft, das angibt, ob ein Benutzer // gezwungen werden sollte, sein Passwort zu ändern. Diese Abfrage // sollte einen Wert zurückgeben (eine Zeile, eine Spalte), der // Null ist, wenn der Benutzer sein Passwort NICHT ändern muss, // oder Eins, wenn der Benutzer gezwungen werden sollte, es jetzt zu ändern. // // Diese Einstellung sollte eine leere Zeichenfolge sein, wenn Sie diese Funktionalität nicht aktivieren möchten. // // %1 in dieser Abfrage wird durch den vollständigen Benutzernamen ersetzt // (einschließlich Domain), wie z.B. "[email protected]" // %2 in dieser Abfrage wird durch den Benutzernamen (ohne // irgendeinen Domainanteil) ersetzt, wie "jose" // %3 in dieser Abfrage wird durch den Domainnamen ersetzt, // wie "example.com" // //$force_change_password_check_query = 'SELECT IF(force_change_pwd = "yes", 1, 0) FROM users WHERE username = "%1"'; //$force_change_password_check_query = 'SELECT force_change_pwd FROM users WHERE username = "%1"'; $force_change_password_check_query = ''; // password_encryption // // Welche Verschlüsselungsmethode verwenden Sie, um Passwörter // in Ihrer Datenbank zu speichern? Bitte verwenden Sie eine der folgenden, // genau so, wie Sie sie sehen: // // NONE Passwörter werden nur im Klartext gespeichert // MYSQLPWD Passwörter werden mit der MySQL password()-Funktion gespeichert // MYSQLENCRYPT Passwörter werden mit der MySQL encrypt()-Funktion gespeichert // PHPCRYPT Passwörter werden mit der PHP crypt()-Funktion gespeichert // MD5CRYPT Passwörter werden mit dem verschlüsselten MD5-Algorithmus gespeichert // MD5 Passwörter werden als MD5-Hash gespeichert // //$password_encryption = 'MYSQLPWD'; $password_encryption = 'MYSQLENCRYPT'; // csp_salt_query // csp_salt_static // // Verschlüsselungstypen, die ein Salt benötigen, müssen wissen, wo sie // dieses Salt erhalten. Wenn Sie einen konstanten, bekannten Saltwert haben, // sollten Sie ihn in $csp_salt_static definieren. Andernfalls lassen Sie diesen // Wert leer und definieren Sie einen Wert für die $csp_salt_query. // // Lassen Sie beide Werte leer, wenn Sie keine (oder keine) Salze benötigen, // um Ihre Passwörter zu verschlüsseln. // // Die Abfrage sollte einen Wert zurückgeben (eine Zeile, eine Spalte), der // der Saltwert für das Passwort des aktuellen Benutzers ist. Diese // Abfrage wird ignoriert, wenn $csp_salt_static etwas anderes als leer ist. // // %1 in dieser Abfrage wird durch den vollständigen Benutzernamen ersetzt // (einschließlich Domain), wie z.B. "[email protected]" // %2 in dieser Abfrage wird durch den Benutzernamen (ohne // irgendeinen Domainanteil) ersetzt, wie "jose" // %3 in dieser Abfrage wird durch den Domainnamen ersetzt, // wie "example.com" // //$csp_salt_static = 'LEFT(crypt_password, 2)'; //$csp_salt_static = '"a4"'; // verwenden Sie dieses Format mit MYSQLENCRYPT //$csp_salt_static = '$2$blowsomefish$'; // verwenden Sie dieses Format mit PHPCRYPT //$csp_salt_static = ''; $csp_salt_static = 'LEFT(password, 2)'; //$csp_salt_query = 'SELECT SUBSTRING_INDEX(crypt_password, '$', 1) FROM users WHERE username = "%1"'; //$csp_salt_query = 'SELECT SUBSTRING(crypt_password, (LENGTH(SUBSTRING_INDEX(crypt_password, '$', 2)) + 2)) FROM users WHERE username = "%1"'; //$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"'; //$csp_salt_query = ''; // csp_secure_port // // Sie können sicherstellen, dass SSL-Verschlüsselung während der Passwortänderung // verwendet wird, indem Sie dies auf den Port setzen, auf dem Ihr HTTPS bereitgestellt wird // (443 ist typisch). Setzen Sie es auf Null, wenn Sie keine // HTTPS-Verbindung erzwingen möchten, wenn Benutzer ihre Passwörter ändern. // // Sie können diesen Wert für bestimmte Domains, Benutzer oder // Dienstebenen über das Virtual Host Login (vlogin)-Plugin // überschreiben, indem Sie einen Wert(e) für $vlogin_csp_secure_port in der vlogin // Konfiguration festlegen. // $csp_secure_port = 0; //$csp_secure_port = 443; // csp_non_standard_http_port // // Wenn Sie Standard-HTTP-Webanfragen auf einem nicht-standardmäßigen // Port (alles außer Port 80) bereitstellen, sollten Sie diese // Portnummer hier angeben. Setzen Sie es auf Null, wenn nicht. // // Sie können diesen Wert für bestimmte Domains, Benutzer oder // Dienstebenen über das Virtual Host Login (vlogin)-Plugin // überschreiben, indem Sie einen Wert(e) für $vlogin_csp_non_standard_http_port // in der vlogin-Konfiguration festlegen. // //$csp_non_standard_http_port = 8080; $csp_non_standard_http_port = 0; // min_password_length // max_password_length // include_digit_in_password // include_uppercase_letter_in_password // include_lowercase_letter_in_password // include_nonalphanumeric_in_password // // Sie können die minimalen und maximalen Passwortlängen festlegen, die // Sie akzeptieren oder diese Einstellungen auf Null lassen, um anzuzeigen, dass // keine Begrenzung angewendet werden soll. // // Aktivieren Sie eine der anderen Einstellungen hier, um zu überprüfen, dass das // neue Passwort mindestens eine Ziffer, einen Großbuchstaben, // einen Kleinbuchstaben und/oder ein nicht-alphanumerisches Zeichen enthält. // $min_password_length = 6; $max_password_length = 0; $include_digit_in_password = 0; $include_uppercase_letter_in_password = 0; $include_lowercase_letter_in_password = 0; $include_nonalphanumeric_in_password = 0; // csp_delimiter // // Wenn Ihr System Benutzernamen mit etwas anderem als // einem "@"-Zeichen hat, das den Benutzer- und Domainanteil trennt, // geben Sie dieses Zeichen hier an // //$csp_delimiter = '|'; $csp_delimiter = '@'; // Debug-Modus // $csp_debug = 0; ?> |

Jetzt müssen wir in die SquirrelMail-Konfiguration gehen und SquirrelMail mitteilen, dass wir Courier als unseren POP3- und IMAP-Server verwenden (wenn Sie dies nicht tun, sehen Sie höchstwahrscheinlich Fehler wie

ERROR: Could not complete request. Query: CREATE "Sent" Reason Given: Invalid mailbox name.

wenn Sie sich bei SquirrelMail anmelden) und das Change SQL Password-Plugin aktivieren und die anderen Passwort-Plugins deaktivieren:

/var/www/squirrelmail/conf/conf.pl

Sie sehen das folgende Menü. Geben Sie D ein, um den IMAP/POP3-Server zu ändern:

SquirrelMail-Konfiguration : Lesen: config.php (1.4.0) --------------------------------------------------------- Hauptmenü -- 1. Organisationseinstellungen 2. Servereinstellungen 3. Ordnerstandards 4. Allgemeine Optionen 5. Themen 6. Adressbücher 7. Nachricht des Tages (MOTD) 8. Plugins 9. Datenbank 10. Sprachen

D. Vordefinierte Einstellungen für bestimmte IMAP-Server festlegen

C Farbe ausschalten S Daten speichern Q Beenden

Befehl >> <– D

SquirrelMail-Konfiguration : Lesen: config.php --------------------------------------------------------- Während wir SquirrelMail aufgebaut haben, haben wir einige Einstellungen entdeckt, die mit einigen Servern besser funktionieren, die nicht so gut mit anderen funktionieren. Wenn Sie Ihren IMAP-Server auswählen, wird diese Option einige vordefinierte Einstellungen für diesen Server festlegen.

Bitte beachten Sie, dass Sie dennoch alles überprüfen müssen, um sicherzustellen, dass alles korrekt ist. Dies ändert nicht alles. Es gibt nur einige wenige Einstellungen, die dies ändern wird.

Bitte wählen Sie Ihren IMAP-Server: bincimap = Binc IMAP-Server courier = Courier IMAP-Server cyrus = Cyrus IMAP-Server dovecot = Dovecot Secure IMAP-Server exchange = Microsoft Exchange IMAP-Server hmailserver = hMailServer macosx = Mac OS X Mailserver mercury32 = Mercury/32 uw = IMAP-Server der University of Washington

beenden = Nichts ändern
Befehl >> <– courier

imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Drücken Sie eine beliebige Taste, um fortzufahren… <– drücken Sie eine beliebige Taste

SquirrelMail-Konfiguration : Lesen: config.php (1.4.0) --------------------------------------------------------- Hauptmenü -- 1. Organisationseinstellungen 2. Servereinstellungen 3. Ordnerstandards 4. Allgemeine Optionen 5. Themen 6. Adressbücher 7. Nachricht des Tages (MOTD) 8. Plugins 9. Datenbank 10. Sprachen

D. Vordefinierte Einstellungen für bestimmte IMAP-Server festlegen

C Farbe ausschalten S Daten speichern Q Beenden

Befehl >> <– 8

SquirrelMail-Konfiguration : Lesen: config.php (1.4.0) --------------------------------------------------------- Plugins Installierte Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. filters 5. address_add 6. change_pass 7. quota_usage 8. change_ldappass 9. avelsieve 10. windows 11. folder_sizes 12. archive_mail 13. empty_folders

Verfügbare Plugins: 14. abook_import_export 15. administrator 16. block_sender 17. bookmarks 18. bug_report 19. calendar 20. change_sqlpass 21. compatibility 22. demo 23. fortune 24. info 25. junkfolder 26. ldifimport 27. listcommands 28. login_image 29. mail_fetch 30. message_details 31. rewrap 32. secure_login 33. select_range 34. sent_subfolders 35. spam_buttons 36. spamassassin 37. spamcop 38. test 39. translate 40. username

R Zurück zum Hauptmenü C Farbe ausschalten S Daten speichern Q Beenden

Befehl >> <– 21 (oder welche Nummer das Kompatibilitäts-Plugin hat - es wird vom change_sqlpass-Plugin benötigt)

SquirrelMail-Konfiguration : Lesen: config.php (1.4.0)

Plugins
Installierte Plugins

  1. delete_move_next
  2. squirrelspell
  3. newmail
  4. filters
  5. address_add
  6. change_pass
  7. quota_usage
  8. change_ldappass
  9. avelsieve
  10. windows
  11. folder_sizes
  12. archive_mail
  13. empty_folders
  14. compatibility Verfügbare Plugins:
  15. abook_import_export
  16. administrator
  17. block_sender
  18. bookmarks
  19. bug_report
  20. calendar
  21. change_sqlpass
  22. demo
  23. fortune
  24. info
  25. junkfolder
  26. ldifimport
  27. listcommands
  28. login_image
  29. mail_fetch
  30. message_details
  31. rewrap
  32. secure_login
  33. select_range
  34. sent_subfolders
  35. spam_buttons
  36. spamassassin
  37. spamcop
  38. test
  39. translate
  40. username R Zurück zum Hauptmenü
    C Farbe ausschalten
    S Daten speichern
    Q Beenden Befehl >> <-- 21 (die Nummer des change_sqlpass-Plugins) SquirrelMail-Konfiguration : Lesen: config.php (1.4.0) --------------------------------------------------------- Plugins Installierte Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. filters 5. address_add 6. change_pass 7. quota_usage 8. change_ldappass 9. avelsieve 10. windows 11. folder_sizes 12. archive_mail 13. empty_folders 14. compatibility 15. change_sqlpass

Verfügbare Plugins: 16. abook_import_export 17. administrator 18. block_sender 19. bookmarks 20. bug_report 21. calendar 22. demo 23. fortune 24. info 25. junkfolder 26. ldifimport 27. listcommands 28. login_image 29. mail_fetch 30. message_details 31. rewrap 32. secure_login 33. select_range 34. sent_subfolders 35. spam_buttons 36. spamassassin 37. spamcop 38. test 39. translate 40. username

R Zurück zum Hauptmenü C Farbe ausschalten S Daten speichern Q Beenden

Befehl >> <– 6 (die Nummer des change_pass-Plugins)

SquirrelMail-Konfiguration : Lesen: config.php (1.4.0)

Plugins
Installierte Plugins

  1. delete_move_next
  2. squirrelspell
  3. newmail
  4. filters
  5. address_add
  6. quota_usage
  7. change_ldappass
  8. avelsieve
  9. windows
  10. folder_sizes
  11. archive_mail
  12. empty_folders
  13. compatibility
  14. change_sqlpass Verfügbare Plugins:
  15. abook_import_export
  16. administrator
  17. block_sender
  18. bookmarks
  19. bug_report
  20. calendar
  21. change_pass
  22. demo
  23. fortune
  24. info
  25. junkfolder
  26. ldifimport
  27. listcommands
  28. login_image
  29. mail_fetch
  30. message_details
  31. rewrap
  32. secure_login
  33. select_range
  34. sent_subfolders
  35. spam_buttons
  36. spamassassin
  37. spamcop
  38. test
  39. translate
  40. username R Zurück zum Hauptmenü
    C Farbe ausschalten
    S Daten speichern
    Q Beenden Befehl >> <-- 7 (die Nummer des change_ldappass-Plugins) SquirrelMail-Konfiguration : Lesen: config.php (1.4.0) --------------------------------------------------------- Plugins Installierte Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. filters 5. address_add 6. quota_usage 7. avelsieve 8. windows 9. folder_sizes 10. archive_mail 11. empty_folders 12. compatibility 13. change_sqlpass

Verfügbare Plugins: 14. abook_import_export 15. administrator 16. block_sender 17. bookmarks 18. bug_report 19. calendar 20. change_ldappass 21. change_pass 22. demo 23. fortune 24. info 25. junkfolder 26. ldifimport 27. listcommands 28. login_image 29. mail_fetch 30. message_details 31. rewrap 32. secure_login 33. select_range 34. sent_subfolders 35. spam_buttons 36. spamassassin 37. spamcop 38. test 39. translate 40. username

R Zurück zum Hauptmenü C Farbe ausschalten S Daten speichern Q Beenden

Befehl >> <– S

Daten in config.php gespeichert
Drücken Sie die Eingabetaste, um fortzufahren… <– EINGABETASTE

SquirrelMail-Konfiguration : Lesen: config.php (1.4.0) --------------------------------------------------------- Plugins Installierte Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. filters 5. address_add 6. quota_usage 7. change_ldappass 8. avelsieve 9. windows 10. folder_sizes 11. archive_mail 12. empty_folders 13. compatibility 14. change_sqlpass

Verfügbare Plugins: 15. abook_import_export 16. administrator 17. block_sender 18. bookmarks 19. bug_report 20. calendar 21. change_ldappass 22. change_pass 23. demo 24. fortune 25. info 26. junkfolder 27. ldifimport 28. listcommands 29. login_image 30. mail_fetch 31. message_details 32. rewrap 33. secure_login 34. select_range 35. sent_subfolders 36. spam_buttons 37. spamassassin 38. spamcop 39. test 40. username

R Zurück zum Hauptmenü C Farbe ausschalten S Daten speichern Q Beenden

Befehl >> <– Q

Jetzt können Sie http://server1.example.com/squirrelmail oder http://192.168.0.100/squirrelmail in Ihrem Browser eingeben, um auf SquirrelMail zuzugreifen.

Melden Sie sich mit Ihrer E-Mail-Adresse (z.B. [email protected]) und Ihrem Passwort an:

Sie sollten die Willkommens-E-Mail in Ihrem Posteingang finden:

Um Ihr Passwort zu ändern, gehen Sie zu Optionen und wählen Sie dann Passwort ändern:

Geben Sie Ihr aktuelles Passwort ein und dann Ihr neues Passwort zweimal:

SquirrelMail wird Ihnen mitteilen, ob das Passwort erfolgreich geändert wurde:

16 Referenzen

Tutorial: ISP-ähnlicher E-Mail-Dienst mit Debian-Sarge und Postfix 2.1: http://workaround.org/articles/ispmail-sarge/

Postfix + Quota: http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&forum=17

Mail-Passwörter verschlüsselt mit saslauthd: http://www.syscp.de/docs/public/contrib/cryptedmailpws

17 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.