added documentation
37
README.md
|
|
@ -4,11 +4,33 @@ Custom Block für den STARFACE Module Designer - E-Mails abrufen und PDF-Anhäng
|
|||
|
||||
## Quick Start
|
||||
|
||||
### Option 1: Fertig-Modul verwenden (Empfohlen für Endbenutzer)
|
||||
|
||||
Wenn du das fertige Modul (`fax2Mail_v53.sfm`) verwenden möchtest:
|
||||
|
||||
```bash
|
||||
# 1. JavaMail auf STARFACE installieren
|
||||
./install-javamail.sh <starface-ip>
|
||||
|
||||
# 2. STARFACE neustarten
|
||||
ssh root@<starface-ip> 'systemctl restart tomcat'
|
||||
|
||||
# 3. Modul importieren
|
||||
# STARFACE Admin → Module → Module Designer → "Modul importieren"
|
||||
# Datei auswählen: fax2Mail_v53.sfm
|
||||
```
|
||||
|
||||
**Fertig!** Weiter mit der [Konfiguration](v8-9-10/INSTALLATION.md#teil-2-modul-konfiguration).
|
||||
|
||||
### Option 2: Selbst kompilieren (für Entwickler)
|
||||
|
||||
Wenn du den Code ändern möchtest:
|
||||
|
||||
```bash
|
||||
# 1. Java 21 installieren (falls nötig)
|
||||
./install-java21.sh
|
||||
|
||||
# 2. STARFACE APIs holen
|
||||
# 2. STARFACE APIs holen (inkl. JavaMail-Installation)
|
||||
./fetch-starface-libs.sh <starface-ip>
|
||||
|
||||
# 3. Block kompilieren
|
||||
|
|
@ -20,14 +42,19 @@ cd v8-9-10
|
|||
|
||||
```
|
||||
mail2fax/
|
||||
├── fetch-starface-libs.sh # Holt STARFACE APIs per SCP
|
||||
├── install-java21.sh # Installiert Java 21
|
||||
├── fax2Mail_v53.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)
|
||||
├── README.md
|
||||
└── v8-9-10/ # Für STARFACE 8/9/10
|
||||
├── Mail2FaxBlock.java # Custom Block Quellcode
|
||||
├── Mail2FaxCleanup.java # Cleanup Block
|
||||
├── build-block.sh # Kompilier-Script
|
||||
├── libs/starface/ # STARFACE JARs
|
||||
└── README.md # Detaillierte Anleitung
|
||||
├── libs/starface/ # STARFACE JARs (nach fetch)
|
||||
├── README.md # Technische Dokumentation
|
||||
├── INSTALLATION.md # Schritt-für-Schritt Handbuch
|
||||
└── docu/ # Screenshots
|
||||
```
|
||||
|
||||
## Funktionsweise
|
||||
|
|
|
|||
BIN
fax2Mail_v36.sfm
|
|
@ -0,0 +1,186 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# JavaMail Installation für STARFACE
|
||||
#
|
||||
# Dieses Script installiert die JavaMail-Bibliothek auf einer STARFACE-Instanz.
|
||||
# Benötigt wird nur SSH-Zugriff auf die STARFACE.
|
||||
#
|
||||
# Verwendung:
|
||||
# ./install-javamail.sh <starface-ip-oder-hostname>
|
||||
#
|
||||
# Beispiel:
|
||||
# ./install-javamail.sh 192.168.1.100
|
||||
# ./install-javamail.sh starface.example.com
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# Farben für Terminal-Ausgabe
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# ============================================================
|
||||
# Parameter prüfen
|
||||
# ============================================================
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo -e "${RED}Fehler: Keine STARFACE-Adresse angegeben${NC}"
|
||||
echo ""
|
||||
echo "Verwendung:"
|
||||
echo " $0 <starface-ip-oder-hostname>"
|
||||
echo ""
|
||||
echo "Beispiel:"
|
||||
echo " $0 192.168.1.100"
|
||||
echo " $0 starface.example.com"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STARFACE_HOST=$1
|
||||
SSH_USER="root"
|
||||
|
||||
echo -e "${BLUE}========================================"
|
||||
echo -e " JavaMail Installation für STARFACE"
|
||||
echo -e "========================================${NC}"
|
||||
echo ""
|
||||
echo -e "STARFACE: ${GREEN}$STARFACE_HOST${NC}"
|
||||
echo -e "SSH-User: ${GREEN}$SSH_USER${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
# SSH-Verbindung testen
|
||||
# ============================================================
|
||||
|
||||
echo -e "${YELLOW}Teste SSH-Verbindung...${NC}"
|
||||
|
||||
if ! ssh -o ConnectTimeout=5 -o BatchMode=yes "${SSH_USER}@${STARFACE_HOST}" "exit" 2>/dev/null; then
|
||||
echo -e "${RED}Fehler: SSH-Verbindung fehlgeschlagen${NC}"
|
||||
echo ""
|
||||
echo "Mögliche Ursachen:"
|
||||
echo " - STARFACE nicht erreichbar"
|
||||
echo " - SSH-Key nicht konfiguriert"
|
||||
echo " - SSH-Dienst nicht erreichbar"
|
||||
echo " - Firewall blockiert Port 22"
|
||||
echo ""
|
||||
echo "Prüfe die Verbindung mit: ssh ${SSH_USER}@${STARFACE_HOST}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}SSH-Verbindung erfolgreich${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
# STARFACE-Bibliothekspfad ermitteln
|
||||
# ============================================================
|
||||
|
||||
LIB_PATH="/opt/tomcat/webapps/localhost/starface/WEB-INF/lib"
|
||||
|
||||
echo -e "${YELLOW}Prüfe Verzeichnisstruktur...${NC}"
|
||||
|
||||
if ! ssh "${SSH_USER}@${STARFACE_HOST}" "[ -d '$LIB_PATH' ]" 2>/dev/null; then
|
||||
echo -e "${RED}Fehler: STARFACE Bibliotheksverzeichnis nicht gefunden${NC}"
|
||||
echo "Erwartet: $LIB_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "Bibliothekspfad: ${GREEN}$LIB_PATH${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
# Prüfen ob JavaMail bereits installiert ist
|
||||
# ============================================================
|
||||
|
||||
echo -e "${YELLOW}Prüfe ob JavaMail bereits installiert ist...${NC}"
|
||||
|
||||
HAS_JAVAMAIL=$(ssh "${SSH_USER}@${STARFACE_HOST}" \
|
||||
"ls $LIB_PATH/*mail*.jar 2>/dev/null | head -1" || true)
|
||||
|
||||
if [ -n "$HAS_JAVAMAIL" ]; then
|
||||
echo -e "${GREEN}JavaMail bereits vorhanden:${NC}"
|
||||
ssh "${SSH_USER}@${STARFACE_HOST}" "ls -lh $LIB_PATH/*mail*.jar 2>/dev/null" | while read line; do
|
||||
filename=$(echo "$line" | awk '{print $NF}')
|
||||
size=$(echo "$line" | awk '{print $5}')
|
||||
basename_jar=$(basename "$filename")
|
||||
echo -e " ${GREEN}$basename_jar${NC} ($size)"
|
||||
done
|
||||
echo ""
|
||||
echo -e "${YELLOW}JavaMail ist bereits installiert. Beenden.${NC}"
|
||||
echo ""
|
||||
echo -e "${GREEN}Falls du die Installation erzwingen möchtest, lösche zuerst die vorhandenen Dateien:${NC}"
|
||||
echo " ssh ${SSH_USER}@${STARFACE_HOST} 'rm $LIB_PATH/*mail*.jar'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}JavaMail nicht gefunden - Installation wird gestartet...${NC}"
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
# JavaMail-Bibliotheken herunterladen
|
||||
# ============================================================
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DEPS_DIR="$SCRIPT_DIR/javamail-deps"
|
||||
mkdir -p "$DEPS_DIR"
|
||||
|
||||
echo -e "${YELLOW}Lade JavaMail-Bibliotheken herunter...${NC}"
|
||||
|
||||
# javax.mail.jar
|
||||
if [ ! -f "$DEPS_DIR/javax.mail.jar" ]; then
|
||||
echo " Lade javax.mail.jar (1.6.2) herunter..."
|
||||
curl -sL -o "$DEPS_DIR/javax.mail.jar" \
|
||||
"https://repo1.maven.org/maven2/com/sun/mail/javax.mail/1.6.2/javax.mail-1.6.2.jar"
|
||||
echo -e " ${GREEN}javax.mail.jar heruntergeladen${NC}"
|
||||
else
|
||||
echo -e " ${GREEN}javax.mail.jar bereits vorhanden${NC}"
|
||||
fi
|
||||
|
||||
# activation.jar
|
||||
if [ ! -f "$DEPS_DIR/activation.jar" ]; then
|
||||
echo " Lade activation.jar (1.1.1) herunter..."
|
||||
curl -sL -o "$DEPS_DIR/activation.jar" \
|
||||
"https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar"
|
||||
echo -e " ${GREEN}activation.jar heruntergeladen${NC}"
|
||||
else
|
||||
echo -e " ${GREEN}activation.jar bereits vorhanden${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
# Auf STARFACE kopieren
|
||||
# ============================================================
|
||||
|
||||
echo -e "${YELLOW}Kopiere JavaMail-Bibliotheken auf STARFACE...${NC}"
|
||||
|
||||
scp -q "$DEPS_DIR/javax.mail.jar" "${SSH_USER}@${STARFACE_HOST}:$LIB_PATH/"
|
||||
echo -e " ${GREEN}javax.mail.jar kopiert${NC}"
|
||||
|
||||
scp -q "$DEPS_DIR/activation.jar" "${SSH_USER}@${STARFACE_HOST}:$LIB_PATH/"
|
||||
echo -e " ${GREEN}activation.jar kopiert${NC}"
|
||||
|
||||
echo ""
|
||||
|
||||
# ============================================================
|
||||
# Erfolgsmeldung
|
||||
# ============================================================
|
||||
|
||||
echo -e "${BLUE}========================================"
|
||||
echo -e " Installation abgeschlossen!"
|
||||
echo -e "========================================${NC}"
|
||||
echo ""
|
||||
echo -e "${GREEN}JavaMail erfolgreich auf STARFACE installiert:${NC}"
|
||||
ssh "${SSH_USER}@${STARFACE_HOST}" "ls -lh $LIB_PATH/*mail*.jar $LIB_PATH/activation.jar 2>/dev/null" | while read line; do
|
||||
filename=$(echo "$line" | awk '{print $NF}')
|
||||
size=$(echo "$line" | awk '{print $5}')
|
||||
basename_jar=$(basename "$filename")
|
||||
echo -e " ${GREEN}$basename_jar${NC} ($size)"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo -e "${YELLOW}WICHTIG: STARFACE-Dienst neustarten für Aktivierung:${NC}"
|
||||
echo " ssh ${SSH_USER}@${STARFACE_HOST} 'systemctl restart tomcat'"
|
||||
echo ""
|
||||
echo -e "${YELLOW}Nach dem Neustart kannst du das Mail2Fax-Modul verwenden!${NC}"
|
||||
echo ""
|
||||
|
|
@ -0,0 +1,388 @@
|
|||
# Mail2Fax - Installations- und Konfigurationshandbuch
|
||||
|
||||
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))
|
||||
**Enthält alle Features**: PIN-Schutz, Betreff-Präfix (Multi-Instanz), Retry-Logik, etc.
|
||||
|
||||
---
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
|
||||
1. [Voraussetzungen](#voraussetzungen)
|
||||
2. [Teil 1: Modul-Erstellung im Module Designer](#teil-1-modul-erstellung-im-module-designer)
|
||||
3. [Teil 2: Modul-Konfiguration](#teil-2-modul-konfiguration)
|
||||
4. [Fertig-Modul importieren](#fertig-modul-importieren)
|
||||
5. [Mehrere Instanzen für verschiedene Benutzer](#mehrere-instanzen-für-verschiedene-benutzer)
|
||||
|
||||
---
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- STARFACE 8.x, 9.x oder 10.x
|
||||
- Admin-Zugriff auf STARFACE (SSH-Zugang für JavaMail-Installation)
|
||||
- **JavaMail-Bibliothek** muss auf STARFACE installiert sein
|
||||
|
||||
### JavaMail installieren (vor dem Import!)
|
||||
|
||||
**Einfachste Methode** - Automatisches Script:
|
||||
```bash
|
||||
cd ..
|
||||
./install-javamail.sh <starface-ip>
|
||||
ssh root@<starface-ip> 'systemctl restart tomcat'
|
||||
```
|
||||
|
||||
**Manuelle Installation:**
|
||||
```bash
|
||||
# Bibliotheken herunterladen
|
||||
curl -L -o javax.mail.jar https://repo1.maven.org/maven2/com/sun/mail/javax.mail/1.6.2/javax.mail-1.6.2.jar
|
||||
curl -L -o activation.jar https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
|
||||
|
||||
# Auf STARFACE kopieren
|
||||
scp javax.mail.jar root@<starface-ip>:/opt/tomcat/webapps/localhost/starface/WEB-INF/lib/
|
||||
scp activation.jar root@<starface-ip>:/opt/tomcat/webapps/localhost/starface/WEB-INF/lib/
|
||||
|
||||
# STARFACE neustarten
|
||||
ssh root@<starface-ip> 'systemctl restart tomcat'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Teil 1: Modul-Erstellung im Module Designer
|
||||
|
||||
### Schritt 1: Neues Modul erstellen
|
||||
|
||||
Öffne den STARFACE Module Designer und erstelle ein neues Modul.
|
||||
|
||||

|
||||
|
||||
**Auszufüllen:**
|
||||
- **Modul-Name**: `Mail2Fax` (oder beliebiger Name)
|
||||
- **Beschreibung**: "Ruft E-Mails ab und sendet PDF-Anhänge als Fax"
|
||||
- **Version**: `1.0.0`
|
||||
|
||||
---
|
||||
|
||||
### Schritt 2: Class-Dateien hochladen
|
||||
|
||||
Lade beide kompilierten `.class` Dateien als Ressourcen hoch.
|
||||
|
||||

|
||||
|
||||
**Hochzuladen:**
|
||||
- `Mail2FaxBlock.class` (Hauptfunktion)
|
||||
- `Mail2FaxCleanup.class` (Cleanup-Funktion)
|
||||
|
||||
**Tab**: Ressourcen → "Datei hochladen"
|
||||
|
||||
---
|
||||
|
||||
### Schritt 3: Cleanup-Funktion im Entrypoint einrichten
|
||||
|
||||
Verknüpfe die Cleanup-Klasse mit dem `activate` Event.
|
||||
|
||||

|
||||
|
||||
**Konfiguration:**
|
||||
- **Tab**: Entrypoints
|
||||
- **Event**: `activate`
|
||||
- **Klasse**: `Mail2FaxCleanup.class`
|
||||
|
||||
Dies stellt sicher, dass beim Modul-Start die Cleanup-Routine ausgeführt wird.
|
||||
|
||||
---
|
||||
|
||||
### Schritt 4: Haupt-Funktion erstellen
|
||||
|
||||
Erstelle die Hauptfunktion, die vom Timer aufgerufen wird.
|
||||
|
||||

|
||||
|
||||
**Konfiguration:**
|
||||
- **Tab**: Funktionen
|
||||
- **Neuer Funktionsbaustein**: "Mail2Fax"
|
||||
- **Klasse**: `Mail2FaxBlock.class`
|
||||
|
||||
---
|
||||
|
||||
### Schritt 5: Timer einrichten
|
||||
|
||||
Konfiguriere einen Timer, der die Hauptfunktion regelmäßig ausführt.
|
||||
|
||||

|
||||
|
||||
**Konfiguration:**
|
||||
- **Tab**: Timer
|
||||
- **Neuer Schedule**: [+] klicken
|
||||
- **Intervall**: 60 Sekunden (empfohlen)
|
||||
- **Verknüpfte Funktion**: Mail2Fax (Hauptfunktion)
|
||||
|
||||
**Hinweis**: Der eingebaute Lock-Mechanismus verhindert parallele Ausführungen automatisch.
|
||||
|
||||
---
|
||||
|
||||
### Schritt 6: GUI-Elemente erstellen
|
||||
|
||||
Erstelle die Eingabefelder für die Konfiguration.
|
||||
|
||||

|
||||
|
||||
**Zu erstellende Felder:**
|
||||
|
||||
| Feldname | Typ | Label | Beschreibung |
|
||||
|----------|-----|-------|--------------|
|
||||
| mailServer | STRING | Mail Server | IMAP/POP3 Server-Adresse |
|
||||
| mailPort | NUMBER | Port | Server-Port (993 für IMAPS) |
|
||||
| mailProtocol | STRING | Protokoll | "IMAP" oder "POP3" |
|
||||
| mailUsername | STRING | Benutzername | E-Mail-Benutzername |
|
||||
| mailPassword | PASSWORD | Passwort | E-Mail-Passwort |
|
||||
| mailUseSsl | BOOLEAN | SSL verwenden | SSL/TLS aktivieren |
|
||||
| mailFolder | STRING | Ordner | E-Mail-Ordner (z.B. INBOX) |
|
||||
| deleteAfterProcess | BOOLEAN | Nach Verarbeitung löschen | E-Mails löschen (nur IMAP) |
|
||||
| faxAccountId | STARFACE_USER | Fax-Benutzer | Benutzer für Fax-Versand |
|
||||
| faxSenderNumber | STRING | Absender-Faxnummer | Ausgehende Faxnummer |
|
||||
| authorizedSenders | STRING | Erlaubte Absender | Komma-getrennte Liste (optional) |
|
||||
| subjectPrefix | STRING | Betreff-Präfix | Präfix für Multi-Instanz (optional) |
|
||||
| pin | STRING | PIN | Sicherheits-PIN (optional) |
|
||||
| maxRetries | NUMBER | Max. Wiederholungen | Anzahl Wiederholungsversuche |
|
||||
| retryDelayMinutes | NUMBER | Wartezeit (Minuten) | Minuten zwischen Versuchen |
|
||||
|
||||
---
|
||||
|
||||
### Schritt 7: GUI-Vorschau prüfen
|
||||
|
||||
Überprüfe die GUI-Elemente in der Vorschau.
|
||||
|
||||

|
||||
|
||||
Stelle sicher, dass alle Felder korrekt angezeigt werden und sinnvoll beschriftet sind.
|
||||
|
||||
---
|
||||
|
||||
### Schritt 8: Mail2Fax Block zur Hauptfunktion hinzufügen
|
||||
|
||||
Füge den Mail2Fax-Block zur Hauptfunktion hinzu.
|
||||
|
||||

|
||||
|
||||
**Im Funktions-Editor:**
|
||||
- Block "Mail2FaxBlock" aus der Palette ziehen
|
||||
- In den Ablauf der Hauptfunktion einfügen
|
||||
|
||||
---
|
||||
|
||||
### Schritt 9: GUI-Felder zuweisen
|
||||
|
||||
Weise die GUI-Felder den Block-Parametern zu.
|
||||
|
||||

|
||||
|
||||
**Mapping:**
|
||||
- Jedes GUI-Element mit dem entsprechenden Block-Parameter verbinden
|
||||
- Alle @InputVar Felder des Blocks müssen mit GUI-Elementen verknüpft werden
|
||||
|
||||
---
|
||||
|
||||
### Schritt 10: Modul speichern
|
||||
|
||||
Speichere das Modul und aktiviere es.
|
||||
|
||||

|
||||
|
||||
Das Modul ist jetzt bereit zur Konfiguration!
|
||||
|
||||
---
|
||||
|
||||
## Teil 2: Modul-Konfiguration
|
||||
|
||||
### Schritt 1: Neue Konfiguration hinzufügen
|
||||
|
||||
Erstelle eine neue Instanz des Mail2Fax-Moduls.
|
||||
|
||||

|
||||
|
||||
**Navigation:**
|
||||
- Module → Modulkonfigurationen → [+] Neu
|
||||
|
||||
---
|
||||
|
||||
### Schritt 2: Mail2Fax Modul auswählen
|
||||
|
||||
Wähle das zuvor erstellte Mail2Fax-Modul aus.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
### Schritt 3: Instanz benennen
|
||||
|
||||
Gib der Modul-Instanz einen eindeutigen Namen.
|
||||
|
||||

|
||||
|
||||
**Beispiele:**
|
||||
- "Mail2Fax - Hauptbüro"
|
||||
- "Mail2Fax - Maik"
|
||||
- "Mail2Fax - Vertrieb"
|
||||
|
||||
---
|
||||
|
||||
### Schritt 4: Felder ausfüllen
|
||||
|
||||
Fülle alle erforderlichen Konfigurationsfelder aus.
|
||||
|
||||

|
||||
|
||||
**Beispiel-Konfiguration:**
|
||||
|
||||
#### E-Mail-Einstellungen
|
||||
- **Mail Server**: `mail.example.com`
|
||||
- **Port**: `993`
|
||||
- **Protokoll**: `IMAP`
|
||||
- **Benutzername**: `fax@example.com`
|
||||
- **Passwort**: `********`
|
||||
- **SSL verwenden**: ✓ Ja
|
||||
- **Ordner**: `INBOX`
|
||||
- **Nach Verarbeitung löschen**: ☐ Nein (für IMAP)
|
||||
|
||||
#### Fax-Einstellungen
|
||||
- **Fax-Benutzer**: (Aus Dropdown wählen - z.B. "Stefan Hacker")
|
||||
- **Absender-Faxnummer**: `+49721123456`
|
||||
|
||||
#### Sicherheit (optional)
|
||||
- **Erlaubte Absender**: `info@example.com, team@example.com`
|
||||
- **Betreff-Präfix**: `FAXStefan:` (für Multi-Instanz)
|
||||
- **PIN**: `1234` (wenn PIN-Schutz gewünscht)
|
||||
|
||||
#### Retry-Einstellungen
|
||||
- **Max. Wiederholungen**: `3`
|
||||
- **Wartezeit (Minuten)**: `5`
|
||||
|
||||
---
|
||||
|
||||
### Schritt 5: Modul aktivieren
|
||||
|
||||
Aktiviere die Modul-Instanz.
|
||||
|
||||

|
||||
|
||||
**Fertig!** Das Modul läuft jetzt und prüft alle 60 Sekunden auf neue E-Mails.
|
||||
|
||||
---
|
||||
|
||||
## Fertig-Modul importieren
|
||||
|
||||
Alternativ zur manuellen Erstellung kannst du das fertig konfigurierte Modul importieren:
|
||||
|
||||
**Datei**: [`../fax2Mail_v53.sfm`](../fax2Mail_v53.sfm)
|
||||
|
||||
**Import:**
|
||||
1. STARFACE Admin → Module → Module Designer
|
||||
2. "Modul importieren"
|
||||
3. `.sfm` Datei hochladen
|
||||
4. Modul wird automatisch erstellt (inkl. aller Felder und Funktionen)
|
||||
5. Weiter mit [Teil 2: Modul-Konfiguration](#teil-2-modul-konfiguration)
|
||||
|
||||
**Hinweis**:
|
||||
- Du musst trotzdem die `.class` Dateien und JavaMail-Bibliothek installieren!
|
||||
- Das Modul enthält alle aktuellen Features inkl. `subjectPrefix` und `pin` Parameter
|
||||
|
||||
---
|
||||
|
||||
## Mehrere Instanzen für verschiedene Benutzer
|
||||
|
||||
Du kannst mehrere Instanzen des Moduls für verschiedene Benutzer erstellen:
|
||||
|
||||
### Beispiel: Zwei Benutzer
|
||||
|
||||
**Instanz 1: Maik**
|
||||
- **Name**: "Mail2Fax - Maik"
|
||||
- **Mail Server**: `mail.example.com`
|
||||
- **Ordner**: `FaxMaik` (mit E-Mail-Filter)
|
||||
- **Betreff-Präfix**: `FAXMaik:`
|
||||
- **Fax-Benutzer**: Maik (aus Dropdown)
|
||||
- **Absender-Faxnummer**: Maiks Nummer
|
||||
|
||||
**Instanz 2: Olaf**
|
||||
- **Name**: "Mail2Fax - Olaf"
|
||||
- **Mail Server**: `mail.example.com`
|
||||
- **Ordner**: `FaxOlaf` (mit E-Mail-Filter)
|
||||
- **Betreff-Präfix**: `FAXOlaf:`
|
||||
- **Fax-Benutzer**: Olaf (aus Dropdown)
|
||||
- **Absender-Faxnummer**: Olafs Nummer
|
||||
|
||||
### E-Mail-Filter einrichten
|
||||
|
||||
Im E-Mail-Client (z.B. Thunderbird, Outlook):
|
||||
|
||||
**Regel 1:**
|
||||
- Wenn Betreff enthält: `FAXMaik:`
|
||||
- Dann verschiebe nach: `FaxMaik`
|
||||
|
||||
**Regel 2:**
|
||||
- Wenn Betreff enthält: `FAXOlaf:`
|
||||
- Dann verschiebe nach: `FaxOlaf`
|
||||
|
||||
### Benutzung
|
||||
|
||||
**Maik sendet Fax:**
|
||||
```
|
||||
An: fax@example.com
|
||||
Betreff: FAXMaik: +49721123456
|
||||
Anhang: dokument.pdf
|
||||
```
|
||||
|
||||
**Olaf sendet Fax:**
|
||||
```
|
||||
An: fax@example.com
|
||||
Betreff: FAXOlaf: +498999887766
|
||||
Anhang: rechnung.pdf
|
||||
```
|
||||
|
||||
Beide E-Mails landen im selben Postfach, werden aber durch Filter in verschiedene Ordner sortiert und von unterschiedlichen Modul-Instanzen verarbeitet.
|
||||
|
||||
---
|
||||
|
||||
## Logs und Fehlersuche
|
||||
|
||||
**Log-Dateien:**
|
||||
```
|
||||
/var/log/starface/starface.log
|
||||
```
|
||||
|
||||
**Nützliche Log-Meldungen:**
|
||||
```bash
|
||||
# Erfolgreiche Verarbeitung
|
||||
grep "Mail2Fax: Fax erfolgreich gesendet" /var/log/starface/starface.log
|
||||
|
||||
# Fehler
|
||||
grep "Mail2Fax.*ERROR" /var/log/starface/starface.log
|
||||
|
||||
# BUSY (für Retry)
|
||||
grep "Mail2Fax.*BUSY" /var/log/starface/starface.log
|
||||
|
||||
# Präfix-Fehler
|
||||
grep "Mail2Fax: Betreff-Präfix stimmt nicht" /var/log/starface/starface.log
|
||||
|
||||
# PIN-Fehler
|
||||
grep "Mail2Fax: PIN" /var/log/starface/starface.log
|
||||
```
|
||||
|
||||
**Tracking-Dateien:**
|
||||
```
|
||||
/var/starface/module-data/mail2fax_processed.txt # Verarbeitete E-Mails (POP3)
|
||||
/var/starface/module-data/mail2fax_retry.txt # Retry-Queue
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
||||
Bei Problemen:
|
||||
1. Logs prüfen (siehe oben)
|
||||
2. JavaMail-Bibliothek installiert? (`/opt/tomcat/webapps/localhost/starface/WEB-INF/lib/javax.mail.jar`)
|
||||
3. Fax-Benutzer hat Fax-Berechtigung?
|
||||
4. E-Mail-Server erreichbar? (Firewall, Ports)
|
||||
5. PDF-Anhänge vorhanden und gültig?
|
||||
|
||||
Weitere Details in der [README.md](README.md).
|
||||
|
|
@ -31,11 +31,26 @@ v8-9-10/
|
|||
|
||||
### 1. STARFACE APIs holen (falls noch nicht geschehen)
|
||||
|
||||
Das Script lädt die STARFACE APIs herunter und installiert automatisch die JavaMail-Bibliothek auf der STARFACE:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
./fetch-starface-libs.sh <starface-ip>
|
||||
```
|
||||
|
||||
**Was macht das Script:**
|
||||
- Lädt STARFACE Module-APIs herunter (via SSH/SCP)
|
||||
- Prüft ob JavaMail auf STARFACE vorhanden ist
|
||||
- Installiert JavaMail automatisch falls fehlend:
|
||||
- `javax.mail.jar` (1.6.2)
|
||||
- `activation.jar` (1.1.1)
|
||||
- Kopiert die Bibliotheken nach `/opt/tomcat/webapps/localhost/starface/WEB-INF/lib/`
|
||||
|
||||
**Nach Installation:** STARFACE-Dienst neustarten:
|
||||
```bash
|
||||
ssh root@<starface-ip> 'systemctl restart tomcat'
|
||||
```
|
||||
|
||||
### 2. Block kompilieren
|
||||
|
||||
```bash
|
||||
|
|
@ -44,8 +59,45 @@ cd ..
|
|||
|
||||
Ergebnis: `Mail2FaxBlock.class` und `Mail2FaxCleanup.class`
|
||||
|
||||
### JavaMail-Installation für fertige Module (ohne Kompilierung)
|
||||
|
||||
Wenn du das **fertige `.sfm` Modul** importierst und die `.class` Dateien nicht selbst kompilieren möchtest, brauchst du nur JavaMail zu installieren:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
./install-javamail.sh <starface-ip>
|
||||
```
|
||||
|
||||
Das Script:
|
||||
- Lädt JavaMail-Bibliotheken herunter (`javax.mail.jar`, `activation.jar`)
|
||||
- Kopiert sie auf die STARFACE
|
||||
- Prüft ob JavaMail bereits installiert ist (überspringt dann die Installation)
|
||||
|
||||
**Danach:** STARFACE neustarten und `.sfm` importieren!
|
||||
|
||||
### Manuelle JavaMail-Installation (Alternative)
|
||||
|
||||
Falls du die STARFACE APIs manuell heruntergeladen hast oder das Standalone-Script nicht verwenden möchtest:
|
||||
|
||||
```bash
|
||||
# Lokal herunterladen (wird auch vom build-block.sh gemacht)
|
||||
cd v8-9-10
|
||||
./build-block.sh # lädt javax.mail.jar nach libs/deps/
|
||||
|
||||
# Auf STARFACE kopieren
|
||||
scp libs/deps/javax.mail.jar root@<starface-ip>:/opt/tomcat/webapps/localhost/starface/WEB-INF/lib/
|
||||
scp libs/deps/activation.jar root@<starface-ip>:/opt/tomcat/webapps/localhost/starface/WEB-INF/lib/
|
||||
|
||||
# STARFACE neustarten
|
||||
ssh root@<starface-ip> 'systemctl restart tomcat'
|
||||
```
|
||||
|
||||
## Installation im Module Designer
|
||||
|
||||
**📖 Detailliertes Handbuch mit Screenshots: [INSTALLATION.md](INSTALLATION.md)**
|
||||
|
||||
### Schnellübersicht
|
||||
|
||||
### 1. Neues Modul erstellen
|
||||
- STARFACE Admin → Module → Module Designer
|
||||
- "Neues Modul erstellen"
|
||||
|
|
@ -63,6 +115,11 @@ Ergebnis: `Mail2FaxBlock.class` und `Mail2FaxCleanup.class`
|
|||
- **Funktion 2**: "Mail2Fax Cleanup" (Cleanup)
|
||||
- Block: Mail2FaxCleanup.class
|
||||
|
||||
### Alternative: Fertig-Modul importieren
|
||||
- Datei: [`../fax2Mail_v53.sfm`](../fax2Mail_v53.sfm)
|
||||
- Import über Module Designer (inkl. aller Felder: `subjectPrefix`, `pin`, etc.)
|
||||
- Danach Instanz konfigurieren (siehe [INSTALLATION.md](INSTALLATION.md))
|
||||
|
||||
### 4. Eingabe-Variablen konfigurieren
|
||||
|
||||
| Variable | Typ | Beschreibung | Default |
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 192 KiB |
|
After Width: | Height: | Size: 113 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 211 KiB |
|
After Width: | Height: | Size: 208 KiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 76 KiB |