diff --git a/README.md b/README.md index f162060..3c9a15d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Custom Block für den STARFACE Module Designer - E-Mails abrufen und PDF-Anhäng ### Option 1: Fertig-Modul verwenden (Empfohlen für Endbenutzer) -Wenn du das fertige Modul (`fax2Mail_v53.sfm`) verwenden möchtest: +Wenn du das fertige Modul (`fax2Mail_v54.sfm`) verwenden möchtest: ```bash # 1. JavaMail auf STARFACE installieren @@ -17,7 +17,7 @@ ssh root@ 'systemctl restart tomcat' # 3. Modul importieren # STARFACE Admin → Module → Module Designer → "Modul importieren" -# Datei auswählen: fax2Mail_v53.sfm +# Datei auswählen: fax2Mail_v54.sfm ``` **Fertig!** Weiter mit der [Konfiguration](v8-9-10/INSTALLATION.md#teil-2-modul-konfiguration). @@ -42,7 +42,7 @@ cd v8-9-10 ``` mail2fax/ -├── fax2Mail_v53.sfm # Fertig-Modul (zum Importieren) +├── fax2Mail_v54.sfm # Fertig-Modul (zum Importieren) ├── install-javamail.sh # Installiert NUR JavaMail (für Fertig-Modul) ├── fetch-starface-libs.sh # Holt STARFACE APIs + JavaMail (für Entwickler) ├── install-java21.sh # Installiert Java 21 (für Entwickler) diff --git a/fax2Mail_v53.sfm b/fax2Mail_v53.sfm deleted file mode 100644 index 0ff2799..0000000 Binary files a/fax2Mail_v53.sfm and /dev/null differ diff --git a/fax2Mail_v54.sfm b/fax2Mail_v54.sfm new file mode 100644 index 0000000..68753e9 Binary files /dev/null and b/fax2Mail_v54.sfm differ diff --git a/v8-9-10/INSTALLATION.md b/v8-9-10/INSTALLATION.md index 958dc55..5068b07 100644 --- a/v8-9-10/INSTALLATION.md +++ b/v8-9-10/INSTALLATION.md @@ -2,7 +2,7 @@ Detaillierte Schritt-für-Schritt-Anleitung zur Installation und Konfiguration des Mail2Fax-Moduls für STARFACE. -**Aktuelle Version**: v53 ([`fax2Mail_v53.sfm`](../fax2Mail_v53.sfm)) +**Aktuelle Version**: v54 ([`fax2Mail_v54.sfm`](../fax2Mail_v54.sfm)) **Enthält alle Features**: PIN-Schutz, Betreff-Präfix (Multi-Instanz), Retry-Logik, etc. --- @@ -274,7 +274,7 @@ Aktiviere die Modul-Instanz. Alternativ zur manuellen Erstellung kannst du das fertig konfigurierte Modul importieren: -**Datei**: [`../fax2Mail_v53.sfm`](../fax2Mail_v53.sfm) +**Datei**: [`../fax2Mail_v54.sfm`](../fax2Mail_v54.sfm) **Import:** 1. STARFACE Admin → Module → Module Designer @@ -291,7 +291,21 @@ Alternativ zur manuellen Erstellung kannst du das fertig konfigurierte Modul imp ## Mehrere Instanzen für verschiedene Benutzer -Du kannst mehrere Instanzen des Moduls für verschiedene Benutzer erstellen: +Du kannst mehrere Instanzen des Moduls für verschiedene Benutzer erstellen. + +> **⚠️ WICHTIG für Multi-Instanz-Betrieb:** +> +> **Voraussetzungen:** +> - **Nur IMAP verwenden** (POP3 ist NICHT geeignet für mehrere Instanzen) +> - **Separate Ordner empfohlen** für beste Zuverlässigkeit und Performance +> +> **Warum separate Ordner?** +> - Keine Race Conditions möglich +> - Jede Instanz sieht nur relevante E-Mails +> - Bessere Performance (keine unnötigen Prüfungen) +> - Klare Trennung und einfacheres Debugging +> +> **Alternative (nicht empfohlen):** Mehrere Instanzen auf demselben Ordner funktionieren technisch, aber E-Mails werden mehrfach geprüft und es kann zu Verzögerungen kommen. ### Beispiel: Zwei Benutzer diff --git a/v8-9-10/Mail2FaxBlock.class b/v8-9-10/Mail2FaxBlock.class index 7fcbb6d..3b786e1 100644 Binary files a/v8-9-10/Mail2FaxBlock.class and b/v8-9-10/Mail2FaxBlock.class differ diff --git a/v8-9-10/Mail2FaxBlock.java b/v8-9-10/Mail2FaxBlock.java index bdd4229..aeb0171 100644 --- a/v8-9-10/Mail2FaxBlock.java +++ b/v8-9-10/Mail2FaxBlock.java @@ -466,12 +466,16 @@ public class Mail2FaxBlock implements IBaseExecutable { if (destination == null || destination.isEmpty()) { // Spezifische Fehlermeldung je nach Grund if (subjectPrefix != null && !subjectPrefix.trim().isEmpty() && !subject.startsWith(subjectPrefix.trim())) { - log.warn("Mail2Fax: Betreff-Präfix stimmt nicht überein. Erwartet: '" + subjectPrefix.trim() + "', Betreff: " + subject); + // Präfix stimmt nicht überein → Email NICHT als gelesen markieren + // So können andere Instanzen mit passendem Präfix die Email verarbeiten + log.debug("Mail2Fax: Betreff-Präfix stimmt nicht überein. Erwartet: '" + subjectPrefix.trim() + "', Betreff: " + subject + " - Email bleibt ungelesen für andere Instanzen"); + return; // Ohne setFlag(SEEN) - andere Instanz könnte passen } else { + // Keine gültige Faxnummer → als gelesen markieren log.warn("Mail2Fax: Keine gültige Faxnummer im Betreff: " + subject); - } - if (!isPop3) { - message.setFlag(Flags.Flag.SEEN, true); + if (!isPop3) { + message.setFlag(Flags.Flag.SEEN, true); + } } return; } diff --git a/v8-9-10/README.md b/v8-9-10/README.md index 8d4fe8c..a6efc59 100644 --- a/v8-9-10/README.md +++ b/v8-9-10/README.md @@ -116,7 +116,7 @@ ssh root@ 'systemctl restart tomcat' - Block: Mail2FaxCleanup.class ### Alternative: Fertig-Modul importieren -- Datei: [`../fax2Mail_v53.sfm`](../fax2Mail_v53.sfm) +- Datei: [`../fax2Mail_v54.sfm`](../fax2Mail_v54.sfm) - Import über Module Designer (inkl. aller Felder: `subjectPrefix`, `pin`, etc.) - Danach Instanz konfigurieren (siehe [INSTALLATION.md](INSTALLATION.md)) @@ -176,6 +176,11 @@ Das Modul ruft regelmäßig E-Mails ab und sendet PDFs als Fax. Mit dem Betreff-Präfix können mehrere Mail2Fax-Instanzen parallel betrieben werden, z.B. für verschiedene Benutzer oder Abteilungen. +> **⚠️ WICHTIG für Multi-Instanz-Betrieb:** +> - **Nur IMAP wird empfohlen** (POP3 löscht Emails und ist nicht zuverlässig für mehrere Instanzen) +> - **Separate Ordner verwenden** für beste Zuverlässigkeit (siehe Setup unten) +> - **Technisch möglich**: Mehrere Instanzen auf demselben Ordner, aber separate Ordner sind deutlich zuverlässiger und performanter + **Verwendung:** 1. Erstelle mehrere Modul-Instanzen im Module Designer 2. Setze für jede Instanz einen eigenen Präfix (z.B. `FAXMaik:`, `FAXOlaf:`)