Poradnik

Formularz pokazuje sukces, ale email nie dociera — co sprawdzić

Zamiast wysyłać kolejne testy, prześledź jedną wiadomość od przycisku do skrzynki.

Krótka odpowiedź. Oddziel trzy pytania: czy strona wysłała żądanie, czy Formgong zapisał zgłoszenie i czy kanał email ma potwierdzonego odbiorcę. success: true nie oznacza dostarczenia listu. Sprawdź również spam, weryfikację konta i błędy Turnstile.

Formgong·

Twój formularz Imię Email Wiadomość Wyślij Formgong Telegram Nowe zgłoszenie Imię · Email Otwórz zgłoszenie + powiadomienie email
Wygląd formularza pozostaje na stronie. Formgong przyjmuje zgłoszenia i wysyła powiadomienia.

Jedna wiadomość, trzy punkty kontroli

Napis „Dziękujemy” może powstać wyłącznie w interfejsie. Zapisane zgłoszenie to kolejny etap, a email jeszcze następny. Użyj rozpoznawalnej wiadomości testowej, by nie pomylić ich wyników.

Poniższe kody dotyczą Formgong. Przy innej usłudze zachowaj tę kolejność kontroli, lecz sprawdź jej własne odpowiedzi i ustawienia.

Czy przycisk wywołuje wysyłkę

Otwórz narzędzia przeglądarki i kartę Network, po czym wyślij formularz. Znajdź POST na https://formgong.com/submit. Sprawdź adres, access_key, pola i odpowiedź.

Brak żądania wskazuje na obsługę przycisku lub formularza. HTML potrzebuje prawidłowego action i method; JavaScript właściwego URL w fetch.

Nie uznawaj samego fetch za sukces

Do odpowiedzi JSON użyj Accept: application/json i sprawdzaj zarówno HTTP, jak i success. Formularz wysłany klasycznie dostaje przekierowanie. Przykładową funkcję wywołaj w obszarze try/catch; po błędzie zachowaj pola.

JavaScript
// Call from your form's submit handler inside try/catch.
// Keep the entered fields when the request fails.
async function sendContactForm(form) {
  const response = await fetch("https://formgong.com/submit", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Accept: "application/json",
    },
    body: JSON.stringify({
      ...Object.fromEntries(new FormData(form)),
      access_key: "fk_your_access_key",
    }),
  });
  const result = await response.json();
  if (!response.ok || result.success !== true) {
    throw new Error(result.message || "Submission failed");
  }
  // Accepted by Formgong; this is not email-delivery confirmation.
  return result.id;
}

Odpowiedź często wskazuje następny krok

unknown_access_key wymaga sprawdzenia klucza; origin_not_allowed dozwolonych domen. turnstile_missing i turnstile_failed dotyczą tokena ochrony. rate_limited oraz limit_exceeded oznaczają różne ograniczenia, których nie naprawisz szybkimi ponowieniami.

Na czas wysyłki zablokuj przycisk, a po zakończeniu odblokuj go. Informacja o błędzie ma pomóc w ponownej próbie, nie usuwać napisanej wiadomości.

Poszukaj zapisu także w spamie

Wybierz formularz odpowiadający kluczowi ze strony. Sprawdź jego zgłoszenia oraz spam. Wypełnione botcheck może dać pozornie poprawną odpowiedź, ale zatrzymać powiadomienia.

Jeśli używasz oceny AI z wstrzymywaniem spamu, sprawdź też ten status. To mechanizm osobny od samego przyjęcia żądania.

Gdy zgłoszenie istnieje, przejdź do poczty

Potwierdź email właściciela konta. W ustawieniach właściwego formularza sprawdź włączenie powiadomień oraz zweryfikowany adres odbiorcy. Następnie przejrzyj spam, filtry i przekierowania skrzynki.

Zgłoszenie w Telegramie pomaga zawęzić problem do poczty, lecz nie potwierdza jej dostawy. Automatyczna odpowiedź dla odwiedzającego to również osobna wiadomość.

Błąd po dodaniu Turnstile

Odśwież kod integracji: potrzebny jest aktualny site key i cf-turnstile-response. Tokeny wygasają i są jednorazowe, więc ponowna próba może wymagać odświeżenia widżetu. Secret key nie powinien trafiać do przeglądarki.

Zachowaj informacje do dalszej diagnozy

Zapisz adres strony, czas testu, status HTTP, kod błędu i ID zgłoszenia, jeśli istnieje. Nie publikuj danych klienta ani sekretów. Po naprawie wykonaj pełny test ponownie.

Do podłączenia od początku służy przykład HTML; dodatkowy kanał opisuje poradnik Telegrama.

Pytania i odpowiedzi

Czy success: true oznacza dostarczony email?

Nie. Potwierdza przyjęcie żądania, a dostawa powiadomienia jest osobnym etapem.

Dlaczego Telegram działa, a poczta nie?

Kanały są niezależne. Sprawdź włączone emaile, potwierdzonych odbiorców i spam w skrzynce.

Dlaczego botcheck nie zwraca błędu?

To pułapka dla botów: żądanie może wyglądać poprawnie, lecz zostać zapisane jako spam bez powiadomień.

Jak ponowić wysyłkę z Turnstile?

Uzyskaj nowy token i sprawdź jego przesłanie w cf-turnstile-response. Nie używaj ponownie zużytego tokena.

Źródła i dokumentacja

Oficjalne materiały pomocnicze: MDN: Fetch API, Cloudflare: Turnstile token validation. Dokumentacja Formgong, Przechowywanie danych.

Artykuł w formacie Markdown
← Wróć do bloga