1) Pusty / pominięty
Form: email=
JSON: {"email": ""}
🔎 Test: walidacja i obsługa błędów
📌 Obserwuj: status code, body, timing
2) Spacje / przycinanie
Form: email=alicetest@example.com
JSON: {"email": " alicetest@example.com "}
🔎 Test: trimming i kanonikalizacja
📌 Obserwuj: akceptację, mail sink target
3) Zduplikowany parametr (dwuznaczność parsera)
Form: email=alicetest@example.com&email=bobtest@example.com
🔎 Test: który parametr wybiera serwer (pierwszy/ostatni/merge)
📌 Obserwuj: do której skrzynki trafia wiadomość
4) Percent-encoded
Form: email=%61licetest%40example.com (czyli alicetest@example.com)
JSON: {"email": "%61licetest%40example.com"}
🔎 Test: zachowanie przy dekodowaniu / podwójnym dekodowaniu
📌 Obserwuj: odpowiedź serwera i zachowanie e-mail
5) Plus-tag / subaddressing
Form: email=alice+shopping@example.com
🔎 Test: normalizacja plus-tag (strip vs. keep)
📌 Obserwuj: które konto/skrzynka jest trafiona
6) Zmiana wielkości liter & Unicode homoglify
Form: email=User@EXAMPLE.com lub email=User@exampIe.com (litera l vs. I)
🔎 Test: normalizacja case i Unicode
📌 Obserwuj: routing i dopasowanie skrzynki
7) Edge-case z kropkami
Form: email=local.part@example.com
Form: email=local..dots@example.com
🔎 Test: parsowanie edge-case wg RFC
📌 Obserwuj: akceptację/odrzucenie i routing
8) Znak kontrolny (tylko staging)
Form: email=alicetest@example.com\n
JSON: {"email": "alicetest@example.com\n"}
🔎 Test: sanityzacja przed templatingiem / injection indicators
⚠️ Nie uruchamiać na produkcji — sprawdzać w stagingu z mail sink
9) Null-byte marker (tylko staging)
Form: email=alice%00test@example.com
🔎 Test: obsługa null-byte i obcinanie
📌 Obserwuj: błędy serwera, truncation, output do mail sink
10) Bardzo długi local-part / adres
Form: email= + a * 1024 + @example.com
🔎 Test: limity bufora i odporność
📌 Obserwuj: odpowiedzi 4xx/5xx, truncation
11) Brak @ / niepoprawny format
Form: email=no-at-symbol lub email=@no-local-part.com
🔎 Test: walidacja i obsługa błędów
📌 Obserwuj: odrzucenie vs. sukces (ryzyko enumeracji)
12) Nieistniejąca domena / brak MX
Form: email=user@nonexistent-example.test
🔎 Test: sprawdzanie DNS/MX i side-channels
📌 Obserwuj: odpowiedź pośrednią serwera lub błąd















