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:
74
README.md
Normal file
74
README.md
Normal 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).
|
||||
Reference in New Issue
Block a user