- Beim Speichern von E-Mail 1 werden alle =email1 Identitäten mit-aktualisiert - attachSignature: false auch im Second Pass (=other@ Referenzen) gesetzt
HPS Vorlagen & Signaturen
Thunderbird-Plugin (v2.2.0) zur zentralen Verwaltung von E-Mail-Vorlagen und Signaturen für Hotel Park Soltau. Vorlagen und Signaturen werden über ein Gitea/Forgejo-Repository synchronisiert und stehen so allen Mitarbeitern zur Verfügung.
Features
- E-Mail-Vorlagen erstellen, bearbeiten und per Klick in Compose-Fenster einfügen
- 3 Sichtbarkeitsstufen pro Vorlage:
- Persönlich — nur für den eigenen Account, gesynct in
_benutzer/{email}/ - Abteilung — für alle in der Abteilung, gesynct in den Abteilungsordner
- Alle Abteilungen — firmenweit, gesynct in
_gemeinsam/
- Persönlich — nur für den eigenen Account, gesynct in
- Signaturen-Verwaltung mit persönlichem Kopfbereich + gemeinsamer Fußzeile pro Abteilung
- Git-Sync über Gitea/Forgejo API (Pull + Push, automatisch alle 15 Min.)
- Auto-Erkennung von Abteilung und Benutzer via
_config/abteilungen.json - WYSIWYG-Editor mit Schriftart, Farben, Listen, Bildern, Links
- Sichtbarkeit direkt änderbar per klickbarem Badge in der Vorlagenliste
Repository-Struktur (Gitea)
repo/
├── _gemeinsam/ # Vorlagen für alle Abteilungen
│ └── beispiel-vorlage.html
├── _benutzer/ # Persönliche Vorlagen pro User
│ ├── max@hotel-park-soltau.de/
│ └── anna@hotel-park-soltau.de/
├── _config/
│ └── abteilungen.json # E-Mail → Abteilung Mapping
├── Rezeption/ # Abteilungsvorlagen
├── IT/
├── signatures/
│ ├── headers/ # Persönliche Signatur-Köpfe
│ │ └── max@hotel.de.max-mustermann.html
│ └── footers/ # Gemeinsame Fußbereiche
│ └── Rezeption.html
_config/abteilungen.json
Mapping von Abteilungs-E-Mail-Adressen zu Ordnernamen. Wird vom Plugin gelesen, um Abteilung und persönliche E-Mail automatisch zu erkennen:
{
"info@hotel-park-soltau.de": "Rezeption",
"veranstaltungs@hotel-park-soltau.de": "Veranstaltungsbuero",
"it@hotel-park-soltau.de": "IT",
"haustechnik@hotel-park-soltau.de": "Haustechnik"
}
Plugin-Aufbau
| Datei | Funktion |
|---|---|
manifest.json |
Extension-Manifest (Thunderbird WebExtension v2) |
background.js |
Template-Insertion ins Compose-Fenster |
popup.html / popup.js |
Popup beim Klick auf "Vorlagen" im Compose |
lib/gitea-sync.js |
Gitea-API-Client + Sync-Manager |
lib/mdi/ |
Material Design Icons (Subset) |
templates_options/ |
Einstellungsseite (Vorlagen, Signaturen, Verbindung) |
defaults.local.json |
Optionale vorkonfigurierte Verbindungsdaten (gitignored) |
Installation
Lokal (Entwicklung)
- Thunderbird öffnen
- Extras → Add-ons und Themes
- Zahnrad-Icon → Add-on aus Datei installieren
templates-reply-hotel.xpiauswählen
XPI bauen
# Ohne vorkonfigurierte Verbindungsdaten:
7z a templates-reply-hotel.xpi manifest.json background.js popup.html popup.js lib/ templates_options/ icons/
# Mit vorkonfigurierten Verbindungsdaten (für Deployment):
7z a templates-reply-hotel.xpi manifest.json background.js popup.html popup.js lib/ templates_options/ icons/ defaults.local.json
Vorkonfigurierte Verbindungsdaten (defaults.local.json)
Wenn eine defaults.local.json im Plugin-Root existiert und in die XPI eingebaut wird, werden die Verbindungsdaten beim ersten Start automatisch gesetzt. Der User muss dann nur noch "Verbindung speichern" klicken.
{
"baseUrl": "https://git.example.com",
"owner": "organisation",
"repo": "email-vorlagen",
"branch": "main",
"token": "dein-api-token"
}
Die Datei ist in .gitignore — Tokens landen nicht im Repository.
Einrichtung
- Verbindung konfigurieren: Einstellungen-Tab (⚙) → Server-URL, Repository, Token eingeben → Verbindung speichern (entfällt bei vorkonfigurierter XPI)
- Abteilung wählen (oder automatisch erkannt via
abteilungen.json) - Vorlagen erstellen: Vorlagen-Tab → Neue Vorlage → Sichtbarkeit wählen → Speichern
- Signaturen einrichten: Signaturen-Tab → Identität wählen → Kopfbereich bearbeiten → Speichern
Voraussetzungen
- Mozilla Thunderbird >= 109.0
- Gitea/Forgejo-Server mit API-Zugang
- API-Token mit Repository-Schreibrechten
Lizenz
MIT License
Languages
JavaScript
69.6%
HTML
29.3%
CSS
1.1%