# LetterMgr (Neuaufbau)

Brief-Manager: DOCX-Erstellung, Login (Passkey ODER Passwort+2FA), Kontakte, E-Mail-Versand.

## Phase 1 (dieses Paket)
- `composer.json` – Abhängigkeiten + PSR-4-Autoload (`LetterMgr\` → `src/`)
- `schema.sql` – Datenbankschema
- `install.php` – Web-Installer (DB, Schema, Schlüssel, Erstnutzer, `config.php`)
- `config.sample.php` – Konfigurationsvorlage
- `src/Database.php` – PDO-Verbindung
- `src/Crypto.php` – reversible Verschlüsselung (SMTP-Passwörter) via libsodium
- `src/Numbering.php` – global eindeutige Brief-ID `YYYY-#####` (atomar)
- `src/DocxLetter.php` – neuer DOCX-Generator, abstandsstabil (kein Leerzeilen-Problem)

## Setup
```bash
composer install
# Browser: https://<domain>/install.php  -> Formular ausfüllen
rm install.php   # nach erfolgreicher Installation
```

Voraussetzungen: PHP ≥ 8.1, Extensions `pdo_mysql`, `sodium`, `mbstring`, `zip`, `dom`, `xml`.
Empfehlung: `storage/` und `config.php` außerhalb des Webroots bzw. per Webserver-Regel
vor direktem Zugriff schützen.

## Was die Leerzeilen-Robustheit konkret bedeutet
Vertikale Abstände entstehen nur über benannte Absatzstile (`spaceBefore`/`spaceAfter`).
Der Fließtext wird in Absätze zerlegt; beliebig viele Leerzeilen → genau ein Absatzabstand,
einzelne Zeilenumbrüche → weiche Umbrüche. Keine leeren Absätze, kein „Layout per Leertaste“.

## Noch offen (Folgephasen)
- Phase 2: Auth (Passkey-Registrierung/Login, Passwort+TOTP), Sessions, modernes UI
- Phase 3: Brieferstellung-Oberfläche + Kontakte-CRUD (Empfänger aus Kontakt wählen)
- Phase 4: E-Mail-Einstellungen pro Nutzer + Versand (PHPMailer, STARTTLS/TLS, 25/465/587)
- Phase 5: OneDrive-(for-Business)-Upload
