75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
# 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).
|