Absenderpruefung bei PayPal-Mails entfernen

This commit is contained in:
2026-08-22 00:03:48 +02:00
parent 43d0fc5578
commit a0d8c62082
6 changed files with 78 additions and 52 deletions
+20
View File
@@ -250,3 +250,23 @@ Mitglied hinter dieser Adresse fremdes Geld gutgeschrieben. Deshalb:
- übrig bleibt nur eine Adresse, die **nahe am Namen des Zahlers** steht;
ist keine in Reichweite, wird keine genommen und es bleibt beim
Namensvergleich.
### Keine Absenderprüfung
Stand: 2026-08-21. Die Verarbeitung prüft **nicht**, ob die Mail von PayPal
kommt. Der Grund ist praktisch: Zahlungsmails erreichen die Kaffeeliste auch
über manuelle Weiterleitungen, und dann steht im Absender die Adresse des
Weiterleitenden. Eine Absenderprüfung hätte genau diese Mails abgelehnt
(`not_from_paypal`).
Maßgeblich ist allein die **Empfangsadresse**: ihr Plus-Token bestimmt den
Mandanten (`paypal_inbox_extract_token()``paypal_inbox_resolve_tenant()`)
und ist damit zugleich das Geheimnis, das den Zugang schützt. Wer die
Adresse kennt, kann eine Mail im PayPal-Wortlaut schicken und eine
Gutschrift auslösen — die Adresse gehört deshalb nicht in Verteiler,
Signaturen oder Tickets. Als Bremsen bleiben: der Text muss als
PayPal-Zahlungsmail erkennbar sein, jeder Transaktionscode wird nur einmal
verbucht, und ohne eindeutige Zuordnung landet alles in der Warteschlange.
`paypal_from_is_paypal()` gibt es weiterhin, aber nur noch als Anzeige in
`scripts/check-imap-support.php` („Absender sieht nach PayPal aus").
+3 -3
View File
@@ -275,11 +275,11 @@ prüfen:
```
php scripts/fetch-paypal-payments.php --file=mail.html \
--recipient=zahlungen+<token>@kaffeeliste.de --from=service@paypal.de [--dry-run]
--recipient=zahlungen+<token>@kaffeeliste.de [--dry-run]
```
Die Verarbeitungskette selbst (Absenderprüfung, Token, Parser, Zuordnung,
Buchung, Dedup, Parken) deckt `scripts/check-paypal-inbox-flow.php` als
Die Verarbeitungskette selbst (Token, Parser, Zuordnung, Buchung, Dedup,
Parken) deckt `scripts/check-paypal-inbox-flow.php` als
Regressionstest ab — alles außer der IMAP-Verbindung.
## Deploy-Ablauf für ein Update