diff --git a/v8-9-10/Mail2FaxBlock.class b/v8-9-10/Mail2FaxBlock.class index 792e582..7fcbb6d 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 21aebe3..bdd4229 100644 --- a/v8-9-10/Mail2FaxBlock.java +++ b/v8-9-10/Mail2FaxBlock.java @@ -776,14 +776,32 @@ public class Mail2FaxBlock implements IBaseExecutable { Object exitStatus = exitStatusField.get(sendFaxBlock); log.info("Mail2Fax: SendFax exitStatus: " + exitStatus); - if (exitStatus != null && exitStatus.toString().contains("FAILED")) { - return FAX_RETRY; + if (exitStatus != null) { + String status = exitStatus.toString(); + + // BUSY, FAILED oder andere temporäre Fehler → Retry + if (status.contains("BUSY") || status.contains("FAILED") || + status.contains("NO_ANSWER") || status.contains("TIMEOUT")) { + log.info("Mail2Fax: Temporärer Fehler (" + status + "), wird zur Retry-Queue hinzugefügt"); + return FAX_RETRY; + } + + // SENT → Erfolg + if (status.contains("SENT")) { + log.info("Mail2Fax: Fax erfolgreich gesendet an " + destination); + return FAX_SUCCESS; + } + + // Unbekannter Status → als Fehler behandeln + log.warn("Mail2Fax: Unbekannter exitStatus: " + status); + return FAX_FAIL; } } catch (NoSuchFieldException e) { log.debug("Mail2Fax: Kein exitStatus Feld"); } - log.info("Mail2Fax: Fax erfolgreich gesendet an " + destination); + // Kein exitStatus gefunden → als Erfolg annehmen (Fallback) + log.info("Mail2Fax: Fax gesendet an " + destination + " (kein exitStatus verfügbar)"); return FAX_SUCCESS; } catch (Exception e) {