Refactor newsletter HTML structure and styles for improved readability and consistency. Adjusted padding, colors, and font sizes across various elements. Updated unsubscribe link styling and background color for better visibility.

This commit is contained in:
smueller
2026-07-07 10:23:47 +02:00
parent f9a711766c
commit 87cd80b3d8
3 changed files with 191 additions and 116 deletions

74
README.md Normal file
View File

@@ -0,0 +1,74 @@
# Newsletter Generator (TK Wiki)
Dieses Tool erzeugt aus den neuesten Artikeln im Thomas-Krenn-Wiki einen HTML-Newsletter, bietet eine Vorschau im Browser und versendet per SMTP (inkl. Testversand und optionalem Cron-Lauf).
## Voraussetzungen
- PHP 8.1+ (empfohlen)
- PHP-Erweiterungen:
- `curl`
- `json`
- `mbstring`
- `openssl`
- optional: `dom` (bessere Artikel-Erkennung)
- Composer
- SMTP-Zugangsdaten
## Installation
1. Projekt auf den Webserver kopieren.
2. Im Projektordner Abhängigkeiten installieren:
```bash
composer install
```
3. Admin-Passwort setzen:
- In `index.php` (und ggf. `wiki.php`) die Konstante `ADMIN_PASSWORD` ändern.
- Standardwert `CHANGE_ME_ADMIN_PASSWORD` **nicht** produktiv verwenden.
4. Webserver auf den Projektordner zeigen lassen (Document Root).
## Erste Einrichtung im Browser
1. Datei im Browser öffnen:
- z. B. `https://deine-domain.tld/index.php`
2. SMTP- und Newsletter-Felder ausfüllen:
- SMTP Host, Port, Verschlüsselung, Benutzer/Passwort
- Absender (`from_email`, `from_name`)
- Empfänger (`recipient_email`, optional `test_recipient_email`)
3. Auf **Einstellungen speichern** klicken.
4. Mit **Vorschau erzeugen** Layout prüfen.
5. Mit **Testnewsletter senden** Testversand durchführen.
## Monatlicher Versand per Cron
Das Tool unterstützt einen tokenbasierten Cron-Endpunkt.
- Token wird im Admin-Bereich unter **Cron Token** angezeigt/gesetzt.
- CLI-Beispiel:
```bash
php index.php --cron --token='DEIN_CRON_TOKEN'
```
- Web-Cron-Beispiel:
```bash
curl -fsS 'https://deine-domain.tld/index.php?cron=DEIN_CRON_TOKEN' > /dev/null
```
Hinweis: Der Monatsnewsletter wird pro Zeitraum nur einmal versendet (Status in `newsletter-state.json`).
## Wichtige Dateien
- `index.php` Hauptdatei (Admin, Vorschau, Versand, Cron)
- `wiki.php` parallele Variante mit gleicher Funktionalität
- `newsletter-config.json` gespeicherte Konfiguration
- `newsletter-state.json` Versandstatus pro Monat
## Sicherheitshinweise
- `ADMIN_PASSWORD` immer sofort ändern.
- Projekt nicht öffentlich zugänglich lassen, wenn kein Login aktiv ist.
- SMTP-Zugangsdaten im Dateisystem schützen (Dateirechte/Backup-Zugriff).