Guten Abend zusammen,
ich versuche eine Applikation um eine Funktionalität zu erweitern, mit der Benutzer Ihre E-Mails (lokal gespeichert im Maildir-Format, Dovecot als MDA) einsehen können. Nach längerer Recherche kenne ich nun zwei Wege, um dies zu bewerkstelligen:
Grüße
Nipec
ich versuche eine Applikation um eine Funktionalität zu erweitern, mit der Benutzer Ihre E-Mails (lokal gespeichert im Maildir-Format, Dovecot als MDA) einsehen können. Nach längerer Recherche kenne ich nun zwei Wege, um dies zu bewerkstelligen:
- IMAP - entweder per fsockopen oder über die php-imap Extension. Das Problem hierbei ist, dass ich das Benutzer-Passwort beim Login zwischenspeichern muss, da dieses bei jedem IMAP-Verbindungsaufbau benötigt wird und ich den Benutzer nicht bei jeder IMAP-Aktion um dieses Passwort bitten möchte. Ich hab mir für dieses Vorgehen zwei Implementierungen von Webmail-Programmen angesehen:
- Roundcube speichert nach erfolgreicher Authentifizierung das Benutzer-PW mit symmetrischer Verschlüsselung (Schlüssel ist in einer PHP-Konfigurationsdatei hinterlegt) in der Session ab und greift auf dieses zu, sobald eine IMAP-Verbindung benötigt wird.
- SquirrelMail speichert das Benutzer-PW nach erfolgreicher Authentifizierung in einem Cookie. Auch hier wird symmetrische Verschlüsselung eingesetzt, allerdings wird bei jedem Benutzer-Login ein neuer Schlüssel generiert und dieser in der Session gespeichert.
- Lass ich Dovecot und Apache (mod_php) mit dem gleichen Linux Benutzer und der gleichen Linux Gruppe laufen, so kann ich auf das Maildir mit PHP (opendir(), ...) direkt zugreifen und E-Mail-Dateien auslesen.
Grüße
Nipec
Kommentar