subjectprefix added
This commit is contained in:
parent
bce38cda67
commit
a92c449c71
Binary file not shown.
|
|
@ -122,6 +122,13 @@ public class Mail2FaxBlock implements IBaseExecutable {
|
|||
)
|
||||
public String authorizedSenders = "";
|
||||
|
||||
@InputVar(
|
||||
label = "Betreff-Präfix",
|
||||
description = "Präfix im Betreff (optional). Wenn gesetzt, muss der Betreff mit diesem Präfix beginnen (z.B. 'FAXMaik:'). Ermöglicht Filter-Regeln im E-Mail-Client für mehrere Fax-Instanzen.",
|
||||
type = VariableType.STRING
|
||||
)
|
||||
public String subjectPrefix = "";
|
||||
|
||||
@InputVar(
|
||||
label = "PIN",
|
||||
description = "Sicherheits-PIN (optional). Wenn gesetzt, muss die PIN im E-Mail-Text enthalten sein um das Fax zu senden.",
|
||||
|
|
@ -457,7 +464,12 @@ public class Mail2FaxBlock implements IBaseExecutable {
|
|||
// Ziel-Faxnummer aus Betreff extrahieren
|
||||
String destination = extractFaxNumber(subject);
|
||||
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);
|
||||
} else {
|
||||
log.warn("Mail2Fax: Keine gültige Faxnummer im Betreff: " + subject);
|
||||
}
|
||||
if (!isPop3) {
|
||||
message.setFlag(Flags.Flag.SEEN, true);
|
||||
}
|
||||
|
|
@ -609,12 +621,31 @@ public class Mail2FaxBlock implements IBaseExecutable {
|
|||
|
||||
/**
|
||||
* Extrahiert die Faxnummer aus dem E-Mail-Betreff
|
||||
*
|
||||
* Wenn ein Betreff-Präfix konfiguriert ist, muss der Betreff damit beginnen.
|
||||
* Der Präfix wird dann entfernt, bevor die Faxnummer extrahiert wird.
|
||||
*
|
||||
* Beispiel: subjectPrefix="FAXMaik:", subject="FAXMaik: +49721123456" → "+49721123456"
|
||||
*/
|
||||
private String extractFaxNumber(String subject) {
|
||||
if (subject == null || subject.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Wenn Präfix gesetzt ist, prüfen und entfernen
|
||||
if (subjectPrefix != null && !subjectPrefix.trim().isEmpty()) {
|
||||
String prefix = subjectPrefix.trim();
|
||||
|
||||
if (!subject.startsWith(prefix)) {
|
||||
log.debug("Mail2Fax: Betreff beginnt nicht mit Präfix '" + prefix + "': " + subject);
|
||||
return null;
|
||||
}
|
||||
|
||||
// Präfix entfernen
|
||||
subject = subject.substring(prefix.length()).trim();
|
||||
log.debug("Mail2Fax: Präfix entfernt, verbleibender Betreff: " + subject);
|
||||
}
|
||||
|
||||
// Entferne alle Zeichen außer Ziffern und +
|
||||
String cleaned = subject.replaceAll("[^0-9+]", "");
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ Ein Custom Block für den STARFACE Module Designer, der E-Mails abruft und PDF-A
|
|||
- **Retry-Logik**: Bei besetzter Leitung oder Fehler wird automatisch erneut versucht
|
||||
- **Konfigurierbare Wiederholungen**: Anzahl und Wartezeit einstellbar
|
||||
- **PIN-Schutz**: Optionale Sicherheits-PIN im E-Mail-Text erforderlich
|
||||
- **Betreff-Präfix**: Mehrere Fax-Instanzen durch Präfix im Betreff (z.B. "FAXMaik:")
|
||||
|
||||
## Kompatibilität
|
||||
|
||||
|
|
@ -77,6 +78,7 @@ Ergebnis: `Mail2FaxBlock.class` und `Mail2FaxCleanup.class`
|
|||
| faxAccountId | STARFACE_USER | Fax-Benutzer (Dropdown) | |
|
||||
| faxSenderNumber | STRING | Absender-Faxnummer | |
|
||||
| authorizedSenders | STRING | Erlaubte Absender (optional) | |
|
||||
| subjectPrefix | STRING | Betreff-Präfix (optional) | |
|
||||
| pin | STRING | Sicherheits-PIN (optional) | |
|
||||
| maxRetries | NUMBER | Max. Wiederholungsversuche | 3 |
|
||||
| retryDelayMinutes | NUMBER | Minuten zwischen Versuchen | 5 |
|
||||
|
|
@ -107,12 +109,40 @@ Der Block muss regelmäßig ausgeführt werden um E-Mails abzurufen. Dafür den
|
|||
## Benutzung
|
||||
|
||||
1. E-Mail an das konfigurierte Postfach senden
|
||||
2. **Betreff** = Ziel-Faxnummer (z.B. `+49721123456`)
|
||||
2. **Betreff** = [Präfix] Ziel-Faxnummer (z.B. `FAXMaik: +49721123456` oder nur `+49721123456`)
|
||||
3. **Anhang** = PDF-Datei(en)
|
||||
4. **E-Mail-Text** = PIN (falls konfiguriert)
|
||||
|
||||
Das Modul ruft regelmäßig E-Mails ab und sendet PDFs als Fax.
|
||||
|
||||
## Betreff-Präfix (Multi-Instanz-Betrieb)
|
||||
|
||||
Mit dem Betreff-Präfix können mehrere Mail2Fax-Instanzen parallel betrieben werden, z.B. für verschiedene Benutzer oder Abteilungen.
|
||||
|
||||
**Verwendung:**
|
||||
1. Erstelle mehrere Modul-Instanzen im Module Designer
|
||||
2. Setze für jede Instanz einen eigenen Präfix (z.B. `FAXMaik:`, `FAXOlaf:`)
|
||||
3. Konfiguriere E-Mail-Filter-Regeln im E-Mail-Client:
|
||||
- Regel 1: Wenn Betreff enthält "FAXMaik:" → verschiebe in Ordner "FaxMaik"
|
||||
- Regel 2: Wenn Betreff enthält "FAXOlaf:" → verschiebe in Ordner "FaxOlaf"
|
||||
4. Jede Modul-Instanz überwacht ihren eigenen Ordner
|
||||
|
||||
**Beispiel:**
|
||||
- **Instanz 1** (Benutzer Maik):
|
||||
- mailFolder: `FaxMaik`
|
||||
- subjectPrefix: `FAXMaik:`
|
||||
- faxAccountId: Maik's STARFACE-Benutzer
|
||||
|
||||
- **Instanz 2** (Benutzer Olaf):
|
||||
- mailFolder: `FaxOlaf`
|
||||
- subjectPrefix: `FAXOlaf:`
|
||||
- faxAccountId: Olaf's STARFACE-Benutzer
|
||||
|
||||
**E-Mail-Beispiele:**
|
||||
- Betreff: `FAXMaik: +49721123456` → wird von Maik's Instanz verarbeitet
|
||||
- Betreff: `FAXOlaf: +4989987654` → wird von Olaf's Instanz verarbeitet
|
||||
- Betreff: `+49721999888` (ohne Präfix) → wird ignoriert, wenn Präfix konfiguriert ist
|
||||
|
||||
## PIN-Schutz
|
||||
|
||||
Wenn eine PIN konfiguriert ist, muss diese im E-Mail-Text enthalten sein, damit das Fax gesendet wird.
|
||||
|
|
|
|||
Loading…
Reference in New Issue