Rolle, in der Reihenfolge des Selbsttests. */ public static function adressen(): array { return [ 'zustellung@' . self::DOMAIN => __('Test mailbox delivery', 'purehost-send-mails'), 'bounce@' . self::DOMAIN => __('Test mailbox bounce', 'purehost-send-mails'), ]; } public static function ist(string $adresse): bool { return str_ends_with(strtolower(trim($adresse)), '@' . self::DOMAIN); } /** Test-Postfaecher in einem Fehlertext durch ihre Rolle ersetzen. */ public static function imText(string $text): string { $text = (string) preg_replace_callback('/[^\s<>@,;:"()\[\]]+@' . preg_quote(self::DOMAIN, '/') . '/i', static fn(array $m): string => self::anzeige($m[0]), $text); return (string) preg_replace('/@' . preg_quote(self::DOMAIN, '/') . '/i', ' (' . __('Test mailbox', 'purehost-send-mails') . ')', $text); } /** Adresse fuer die Anzeige: Test-Postfaecher unter ihrer Rolle, alle anderen unveraendert. */ public static function anzeige(string $adresse): string { if (!self::ist($adresse)) { return $adresse; } return self::adressen()[strtolower(trim($adresse))] ?? __('Test mailbox', 'purehost-send-mails'); } }