Absenderpruefung erweitern und Postfach auflisten koennen
Die Pruefung suchte woertlich nach "@paypal.de" oder "@paypal.com". Mails aus einer Versand-Subdomain (e.paypal.de) oder einer Landesvariante (paypal.at, paypal.co.uk) fielen damit als not_from_paypal durch. Geprueft wird jetzt die Domain der Absenderadresse an ihrem Ende - "paypal.de. beispiel.com" ist damit weiterhin kein PayPal, waere bei einer Textsuche aber durchgerutscht. check-imap-support.php listet zusaetzlich die letzten 15 Mails mit Absender, Empfaengerzeilen und Betreff auf und sagt je Mail, ob der Absender als PayPal gilt. Damit laesst sich ein not_from_paypal in einem Lauf klaeren statt zu raten. Rein lesend: OP_READONLY, kein \Seen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -234,6 +234,27 @@ try {
|
||||
$fremd = paypal_process_raw($pdo, $empfaengerA, 'no-reply@beispiel.de', $mailA);
|
||||
paypal_flow_assert('Mail von fremdem Absender wird abgelehnt', ($fremd['status'] ?? '') === 'not_from_paypal', $failures, $passes);
|
||||
|
||||
// Absenderpruefung: PayPal verschickt aus mehreren Domains, eine
|
||||
// Lookalike-Domain darf aber nie durchgehen.
|
||||
foreach ([
|
||||
'"PayPal" <service@paypal.de>' => true,
|
||||
'service@paypal.com' => true,
|
||||
'PayPal <service@e.paypal.de>' => true,
|
||||
'noreply@paypal.at' => true,
|
||||
'service@paypal.co.uk' => true,
|
||||
'betrug@paypal.de.beispiel.com' => false,
|
||||
'paypal@beispiel.de' => false,
|
||||
'clemens@beispiel.de' => false,
|
||||
'' => false,
|
||||
] as $absender => $erwartet) {
|
||||
paypal_flow_assert(
|
||||
'Absender "' . ($absender === '' ? '(leer)' : $absender) . '" gilt ' . ($erwartet ? 'als' : 'nicht als') . ' PayPal',
|
||||
paypal_from_is_paypal($absender) === $erwartet,
|
||||
$failures,
|
||||
$passes
|
||||
);
|
||||
}
|
||||
|
||||
$ohneToken = paypal_process_raw($pdo, 'zahlungen@kaffeeliste.de', 'service@paypal.de', $mailA);
|
||||
paypal_flow_assert('Adresse ohne Token wird abgelehnt', ($ohneToken['status'] ?? '') === 'no_token', $failures, $passes);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user