Zepsuty formularz kontaktowy nie zgłasza się sam. Wygląda tak samo jak działający: pola się wypełniają, przycisk się klika, pojawia się „dziękujemy za wiadomość". Że nic nie doszło, dowiadujesz się miesiąc później, gdy ktoś zadzwoni z pretensją, że nie odpisujesz.
To jedna z najczęstszych cichych awarii na stronach firmowych — i jedna z najłatwiejszych do sprawdzenia.
Dlaczego to się psuje tak często
Bo wysyłka poczty zależy od rzeczy poza samą stroną: konfiguracji serwera, danych logowania do serwera pocztowego, wpisów SPF i DKIM w DNS. Każda z nich może się zmienić bez dotykania kodu — przy przenosinach na inny hosting, po aktualizacji PHP, po zmianie hasła do konta pocztowego.
Kod nie rzuca błędem, bo funkcja wysyłająca zwykle zwraca tylko informację, że wiadomość przekazano, a nie że dostarczono.
Co sprawdzić
- Czy wiadomość w ogóle dochodzi — na adres inny niż Twój własny na tym samym serwerze. Poczta do samego siebie potrafi działać nawet wtedy, gdy na zewnątrz nic nie wychodzi.
- Czy nie ląduje w spamie — sprawdź u odbiorcy zewnętrznego, nie u siebie.
- Czy pole odpowiedzi jest ustawione — bez
Reply-Toodpowiadasz sam sobie. - Czy polskie znaki przechodzą — kodowanie potrafi się posypać właśnie w wiadomościach z formularza.
- Czy załącznik dochodzi, jeśli formularz je przyjmuje.
- Co się dzieje przy pustych i błędnych polach — komunikat czy cicha porażka.
Test bez własnej skrzynki
Do sprawdzania nie warto używać prywatnego adresu: zaśmieca skrzynkę, a przy powtarzalnych testach nie da się odróżnić wiadomości z dzisiaj od tej sprzed tygodnia. Wygodniej utworzyć adres jednorazowy, wysłać przez formularz i odczytać wynik.
Jeśli robisz to regularnie albo chcesz mieć to w zestawie testów, da się to wywołać z wiersza poleceń:
# skrzynka
curl -s -X POST https://www.getsend.xyz/api/v1/inboxes \
-H "Authorization: Bearer $GETSEND_KEY"
# po wyslaniu formularza -- co przyszlo
curl -s -H "Authorization: Bearer $GETSEND_KEY" \
https://www.getsend.xyz/api/v1/inboxes/ADRES/messages
Opis pozostałych wywołań jest na stronie API.
Jak często
Raz przy uruchomieniu strony to za mało. Sensowne minimum to sprawdzenie po każdej zmianie hostingu, po aktualizacji systemu zarządzania treścią i raz na kwartał ot tak. Zajmuje dwie minuty, a wykrywa awarię, która potrafi trwać miesiącami.
Jeśli formularz jest istotny dla firmy, warto go włączyć do testów automatycznych — wtedy sprawdza się sam przy każdym wdrożeniu.