From d47525069683bc39a0cbe118930511c18c3892c9 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 10 Jan 2026 15:12:00 +0100 Subject: [PATCH] =?UTF-8?q?subjet=20not=20matched=20the=20set=20email=20as?= =?UTF-8?q?=20unread,=20changed=20documentaion=20f=C3=BCr=20explicit=20use?= =?UTF-8?q?=20imap=20and=20seperate=20folders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- fax2Mail_v53.sfm | Bin 21272 -> 0 bytes fax2Mail_v54.sfm | Bin 0 -> 21295 bytes v8-9-10/INSTALLATION.md | 20 +++++++++++++++++--- v8-9-10/Mail2FaxBlock.class | Bin 22577 -> 22625 bytes v8-9-10/Mail2FaxBlock.java | 12 ++++++++---- v8-9-10/README.md | 7 ++++++- 7 files changed, 34 insertions(+), 11 deletions(-) delete mode 100644 fax2Mail_v53.sfm create mode 100644 fax2Mail_v54.sfm 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 0ff2799edd2ce2f17976a8dc12550767660d0509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21272 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

whw_Ce3Kif3#ZeH1#@R-k*TO- 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 **⚠️ 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 7fcbb6d93b4bf017f0a3dc52888ad4e4c15b8ad3..3b786e13c5384bdacb7de34c5c158cce275fb0fc 100644 GIT binary patch delta 961 zcmXw1e@xYN6g~G`z~raa0~K^VlHc$qPfO%A5Cz1CfTHr4h&rGrq4X?-tw>zrq#qF)SanF%!5-*dIAUEWG`AU|{*ODvWN}k-5Rr0+Q$&~oz2dS1HrA}^1Kz@-O z@~b>4zsYm*yBwE4o8}^e`H$j%1;!zP09=-WR8(kM)6+G zXELLi7S9;wF+qI*%HVPu{i*b&I6eN8iAlJJi?EQ3k;oL}aVb1p=44hLT9SbnW+I7M zSj-$OV=mH}hYVZBrOHvyYO5Alb&Y9!Sj~q~%pz2>7(Rnebg|rdW7F(I zRpwBQWY$=ZE%34yMciuaZN}b?{S4qJ>)~)GPICv&umR`U=uB1(rZ&UH7W3MR6tGf+M1J!FXvBaS^t@-lfG(`o->brtmFWEd>v(c6Ae6%CccF>4w|wb-5f>_-$pOP zminS49tn?cJ}$f7vvt02AwICkqc-dqGWikmc^M@fM?F8W5TD`+Ucq5bnEW%G;O98S zFK~`mF~l$Nj=fJ9-Z1=&*CdMeaX2Q4{3d*%cAg%&g$4ZClHNuRXHdvHDCZn%c^A7> z(5?~a)<`^U*sD=Et zr7P|TmAE#=iYnHbIyHE$G9)X*sfAW zgMrfMNNU-tv>Epx4wnHc3D)0mvbuBO+o(Q<@_%7J?%I!g2T+t1`oHAF0J6R4`LB@` zdXMLT0}Kg!kUFyI#(dftEDHu#cK3b76n?`To? z&ei;tx9}``d5%x=clPrS4)IS8^E}_-Up&eS{Dc=>HOXK2w=<`lHSLp2oD?`MDo#?G zpYs$_p5j$JQ;AjqpbqIle|?TsCMO25`e)MTAVH}}Q5w>ffg)uhtgN6T`cT$T&h$i0BS9X&qYp-mVS7*NuluH+iB5F-x0~qlZzbKKIyyT0M&8dK}H#hAwT#diCRe z?Z5+iIyl}mUcU=*dLBu7!T;bz-}EKl^kw%LM44Vig?3|whOkC^aGPGooqEHSgXq;> zY|%b!)v%|IdE&Q5CYzsP=K=rDgC632kNklzdkFdZ5Q}sKH9Cq8edHmI;XWP5W_{}N z&#*%$@T^9$Tc0DQFYvDSM;*U&yr`25=}RW-5Ysg_@1eY0lh{%;<(j>ofg6?7LOrIz_8805lh6!mV{AD#)Qqrl%;T{&0&(wWrk%i z&oWtH^SI2iSz$S>vMU*}tJq)*xW;mM>wL>+mlbfM6>_^3@ihzcpcV6kmGE0z#4%eO zJkd6mTZwq9!Yr#sx3!M65wDUHr-a%QtLTb$WCa;d$C F{{W99+64dr 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:`)