feat(kontakte): Einverständnis für Mails und Mailingliste

Am Kontakt gibt es unter der E-Mail-Adresse das Kästchen "Einverständnis
für Mails". Ohne Adresse ist es gesperrt. Der Zeitpunkt wird in
`mail_consent_at` mitgeschrieben und im Kontakt angezeigt: bei einer
Beschwerde ist nicht die Frage, ob ein Einverständnis vorliegt, sondern
seit wann. Beim Widerruf wird er geleert; ein erneutes Speichern
verschiebt ihn nicht.

Der Knopf "Mailingliste erstellen" in der Kontaktleiste sammelt alle
Adressen mit Haken, durch Komma getrennt, mit Zähler am Knopf. Rechts im
Feld ein Kopiersymbol (Zwischenablage, mit Fallback für Browser ohne die
Schnittstelle) und ein Mailsymbol.

Zum Mailsymbol zwei Entscheidungen:

- Die Adressen gehen ins BCC, nicht ins An-Feld. Im An-Feld sähe jeder
  Empfänger die vollständige Kundenliste.
- Windows gibt an das Mailprogramm nur rund 2000 Zeichen weiter. Ab 1900
  Zeichen ist das Symbol deshalb gesperrt und der Dialog erklärt es -
  sonst wäre die Empfängerliste unbemerkt abgeschnitten.

Nur für richtige Kontakte: Der Vorbereich "Aus Mails" hat das Kästchen
nicht, und beim Übernehmen wird der Haken nicht mitgesetzt - dass jemand
eine Mail geschrieben hat, ist keine Einwilligung in Werbung. Das Backend
weist ein `mail_consent` für Einträge mit `mail_pool = 1` ab.

Sichtbar ohne Öffnen: grünes Briefsymbol in der Kachel, Häkchen hinter der
Adresse in der Liste.

Geprüft im Browser gegen das Stub-Backend: Haken setzen und widerrufen,
Zähler, Komma-Liste, Zwischenablage, mailto mit BCC, kein Kästchen im
Vorbereich (15 Prüfungen).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sascha Wolf
2026-08-11 14:45:36 +02:00
co-authored by Claude Opus 5
parent 9a4266ae7e
commit 41e9f6898f
14 changed files with 463 additions and 18 deletions
+52
View File
@@ -164,6 +164,58 @@ Sobald Kontakte aus dem Postfach übernommen wurden, erscheint neben dem
Statusfilter ein **Herkunftsfilter**: *Aus Mails übernommen* zeigt nur die aus
dem Postfach stammenden, *Selbst angelegt* nur die von Hand erfassten.
### Einverständnis für Mails
Im Kontakt steht direkt unter der E-Mail-Adresse das Kästchen **Einverständnis
für Mails**. Nur mit diesem Haken kommt die Adresse in eine Mailingliste. Ohne
eingetragene Adresse ist das Kästchen gesperrt - es gibt dann nichts, wozu
jemand einwilligen könnte.
![Kontakt mit gesetztem Einverständnis für Mails](bilder/kontakt-einverstaendnis.png)
Der Zeitpunkt wird mitgespeichert und im Kontakt angezeigt („Erteilt am …").
Beim Widerruf verschwindet er wieder. Bei einer Beschwerde ist nämlich nicht die
Frage, *ob* ein Einverständnis vorliegt, sondern *seit wann*.
Wo der Haken gesetzt ist, erscheint das Briefsymbol der Kachel grün, in der
Liste steht ein Häkchen hinter der Adresse. So sieht man es ohne jeden Kontakt zu
öffnen.
Zwei Dinge, die bewusst so sind:
* **Im Vorbereich *Aus Mails* gibt es das Kästchen nicht.** Dass jemand eine Mail
geschrieben hat, ist keine Einwilligung in Werbung.
* **Beim Übernehmen aus *Aus Mails* wird der Haken nicht mitgesetzt.** Ein neu
übernommener Kontakt startet immer ohne Einverständnis.
### Mailingliste erstellen
Der Knopf **Mailingliste erstellen** in der Kontaktleiste sammelt alle Adressen
mit Einverständnis, durch Komma getrennt. Die Zahl am Knopf sagt vorab, wie viele
das sind.
![Dialog Mailingliste mit Kopier- und Mailsymbol](bilder/kontakte-mailingliste.png)
Rechts im Feld stehen zwei Symbole:
| Symbol | Wirkung |
| --- | --- |
| **Kopieren** | legt die komplette Liste in die Zwischenablage - danach in Outlook ins BCC-Feld einfügen |
| **Brief** | öffnet direkt eine neue Mail im Mailprogramm, die Adressen stehen im **BCC** |
Der Brief-Weg (`mailto:`) hat eine Grenze: Windows gibt nur rund 2000 Zeichen an
das Mailprogramm weiter. Wird die Liste länger, ist das Symbol gesperrt und der
Dialog sagt es - sonst würde die Empfängerliste unterwegs abgeschnitten, ohne
dass es jemand merkt. Dann bleibt der Weg über die Zwischenablage.
Die Adressen gehen absichtlich ins **BCC** und nicht ins An-Feld: dort sähe jeder
Empfänger die vollständige Kundenliste.
Unter *Wer ist dabei* stehen Name, Firma und Adresse aller Empfänger zum
Nachprüfen. Darunter steht, wie viele Kontakte fehlen - ohne Haken oder mit Haken
aber ohne Adresse. Das **Trennzeichen** lässt sich auf Semikolon umstellen, falls
Outlook die Komma-Liste nicht auflöst.
### Aus Mails
Der Menüpunkt *Kontakte* klappt zwei Unterpunkte auf: *Alle Kontakte* und