Um einen Newsletter mit SQL und PHP vorschriftsmäßig zu erstellen, solltest du sowohl technische als auch rechtliche Aspekte beachten. Hier eine Schritt-für-Schritt-Anleitung: **1. Rechtliche Grundlagen (DSGVO, Double-Opt-In):** - **Einwilligung:** Nutzer müssen dem Empfang des Newsletters ausdrücklich zustimmen (z. B. durch Ankreuzen einer Checkbox). - **Double-Opt-In:** Nach der Anmeldung erhält der Nutzer eine E-Mail mit einem Bestätigungslink. Erst nach Klick auf diesen Link wird die E-Mail-Adresse für den Versand freigeschaltet. - **Abmeldemöglichkeit:** Jeder Newsletter muss einen Abmeldelink enthalten. - **Datenschutz:** Informiere die Nutzer, wie ihre Daten verwendet werden. **2. Datenbank (SQL):** Lege eine Tabelle für die Abonnenten an, z. B. so: ```sql CREATE TABLE newsletter_subscribers ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, confirmed TINYINT(1) DEFAULT 0, confirmation_token VARCHAR(64), subscribed_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` **3. Anmeldung (PHP):** - Formular zur Eingabe der E-Mail-Adresse. - Nach Absenden: E-Mail-Adresse und ein zufälliges Token in die Datenbank speichern, `confirmed` bleibt 0. - Sende eine Bestätigungs-E-Mail mit Link, z. B. `https://deine-seite.de/confirm.php?token=XYZ`. **4. Bestätigung (PHP):** - `confirm.php` prüft das Token, setzt `confirmed` auf 1, wenn gültig. **5. Newsletter-Versand (PHP):** - Nur an bestätigte Adressen (`confirmed = 1`) senden. - E-Mail-Versand z. B. mit [PHPMailer](https://github.com/PHPMailer/PHPMailer) oder [SwiftMailer](https://swiftmailer.symfony.com/). - Im Newsletter einen Abmeldelink einbauen, z. B. `https://deine-seite.de/unsubscribe.php?email=...&token=...`. **6. Abmeldung (PHP):** - `unsubscribe.php` entfernt die E-Mail-Adresse oder setzt ein entsprechendes Flag. **7. Sicherheit:** - E-Mail-Adressen validieren und gegen SQL-Injection schützen (Prepared Statements). - Tokens ausreichend lang und zufällig generieren. **8. Beispielquellen:** - [PHPMailer](https://github.com/PHPMailer/PHPMailer) - [SwiftMailer](https://swiftmailer.symfony.com/) - [DSGVO-Checkliste für Newsletter](https://www.datenschutz.org/newsletter/) **Fazit:** Ein Newsletter-System mit SQL und PHP muss datenschutzkonform (DSGVO), sicher und benutzerfreundlich sein. Die wichtigsten Punkte sind Double-Opt-In, Abmeldemöglichkeit und der Schutz der Nutzerdaten.