AHX WP Mail
IMAP-Postfach-Viewer im Frontend mit benutzerspezifischen Zugangsdaten.
by Alexander Herbst · github.com/alexanderherbst/ahx_wp_mail
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/alexanderherbst/ahx_wp_mail/archive/refs/heads/master.zipIMAP-Postfach-Viewer im WordPress-Frontend mit konto-spezifischen Zugangsdaten, Regeln und optimiertem Ladeverhalten.
Funktionsumfang
- Frontend-Postfachansicht mit Ordnern, Listenansicht und Detailansicht.
- Mehrere Konten pro Benutzerprofil.
- Regeln fuer automatisierte Aktionen (z. B. markieren, verschieben, archivieren, loeschen).
- Move-Empfehlungen basierend auf Absender-Historie.
- Bulk-Aktionen (gelesen/ungelesen, verschieben, archivieren, loeschen).
- Optionales Leeren des Papierkorbs.
Installation
- Plugin-Ordner nach
wp-content/plugins/ahx_wp_mailkopieren. - Plugin in WordPress aktivieren.
- IMAP-Einstellungen hinterlegen:
- global ueber Plugin-/Admin-Einstellungen
- oder konto-spezifisch im Benutzerprofil
Nutzung im Frontend
Das Plugin wird ueber den vorgesehenen Shortcode/Frontend-Container der Plugin-Integration gerendert.
Wichtige UI-Bereiche:
- Ordnerleiste (links)
- Nachrichtenliste (Mitte)
- Detailansicht mit Aktionen (rechts/Panel)
Konfiguration
IMAP
- Host
- Port
- Verschluesselung (
ssl,tls,none) - Benutzername und Passwort pro Konto
Anzeige
- Nachrichten pro Seite
- Verhalten fuer "als gelesen markieren" (z. B. beim Oeffnen)
Regeln
Regeln koennen pro Konto konfiguriert werden:
- Filter: Von, An, Betreff, Ordner
- Aktion: markieren, verschieben, archivieren, loeschen
Performance-Optimierungen (aktueller Stand)
1) Fast-Path fuer Listen
Die Listenansicht wird ohne teure Attachment-Strukturpruefung geladen und anschliessend ergaenzt.
2) Serverseitige Caches
- Versionierte Cache-Keys pro Benutzer/Konto
- Listen-Cache mit dynamischer TTL
- Ordnerliste gecacht
- Ordner-Statistiken pro Ordner einzeln gecacht
- Detailansicht (Mail-Inhalt) gecacht
3) Cache-Invalidierung
Mutierende Aktionen invalidieren die Cache-Version:
- markieren
- loeschen
- verschieben
- archivieren
- papierkorb leeren
4) Attachment-Flags
- Seite 1: Flags werden serverseitig vorab mitgeliefert
- Weitere Seiten/fehlende Flags: lazy Nachladen per Batch-Endpoint
- Frontend-Cache mit Obergrenze und Eviction
5) Folder-Stats: priorisiert + deferred
- Wichtige Ordner werden zuerst berechnet
- Restliche Ordner-Stats werden im Hintergrund nachgeladen
6) Stale-while-revalidate im Frontend
- Optionales sofortiges Rendern aus sessionStorage
- Hintergrund-Refresh aktualisiert Daten
- Sichtbarer Hinweis bei gecachter Darstellung
Sicherheit
- WordPress-Nonce-Pruefung fuer AJAX-Endpunkte
- Login- und Berechtigungspruefungen
- Sanitizing/Validierung von Eingaben
Troubleshooting
"Verbindungsfehler. Bitte Seite neu laden."
- IMAP-Zugangsdaten pruefen.
- Erreichbarkeit des IMAP-Hosts pruefen.
- SSL/TLS/Port-Kombination pruefen.
- Falls noetig in den Plugin-Logs bzw. Browser-Devtools (Network) den fehlgeschlagenen AJAX-Call identifizieren.
Keine Ordner oder leere Liste
- Konto-Daten im Benutzerprofil kontrollieren.
- Berechtigungen und aktives Konto pruefen.
- IMAP-Verbindungstest ausfuehren.
Empfehlungen/Flags fehlen kurzfristig
- Bei erstem Laden kann Nachladen asynchron passieren.
- Nach kurzer Zeit oder Refresh sollte der Zustand vollstaendig sein.
Entwicklungshinweise
Relevante Dateien:
ahx_wp_mail.php: AJAX-Endpunkte, Caching, Runner, Hauptlogikincludes/class-imap.php: IMAP-Zugriff und Mail-Operationenassets/mail.js: Frontend-State, Rendering, AJAX-Flowassets/mail.css: UI-Stylesfrontend/shortcode.php: Frontend-Markup
Lizenz
GPL2