Natrag na blog
Tehnika Objavljeno 16.09.2026 6 min čitanja

Kada kontaktni obrazac kaže „Hvala”, ali e-pošta ne stiže

Kontaktni obrazac može prestati raditi, a da nitko ne vidi pogrešku: posjetitelj dobije ljubaznu potvrdu, a Vi ne dobijete ništa. Zašto se to događa i kako primijetiti na vrijeme.

Zamislite malu fizioterapeutsku ordinaciju. Njezina web-stranica ima kontaktni obrazac i obrazac radi – ili barem tako izgleda. Posjetitelji ga ispune, kliknu „Pošalji” i vide ljubazno „Hvala, uskoro ćemo Vam se javiti”. Ono što nitko ne vidi: poruke su prije nekog vremena prestale stizati u ulaznu poštu ordinacije. Nema pogreške, nema povratne obavijesti o neisporuci ni u čijoj ulaznoj pošti, nigdje nema crvenog svjetla. Obrazac otkazuje neprimjetno.

Zašto nitko ne primjećuje

Stranica „Hvala” nakon slanja obrasca obično znači samo jedno: web-stranica proslijedila je poruku. Hoće li je poslužitelj e-pošte prihvatiti, svrstati u neželjenu poštu ili usput odbiti, događa se kasnije, izvan dosega obrasca. Primjerice, PHP-ova funkcija mail() prijavljuje uspjeh čim lokalni sustav prihvati poruku za isporuku – ne kada ona nekome stigne. Posjetitelj stoga dobije potvrdu i nastavi dalje. Vlasnik u međuvremenu vidi praznu ulaznu poštu i pretpostavlja da je mjesec jednostavno miran. Manje upita samo po sebi rijetko izaziva uzbunu: praznici, vrijeme, gospodarstvo – uvijek postoji objašnjenje koje zvuči uvjerljivije od „obrazac je pokvaren”.

Hipotetski tijek događaja
  1. Dan 0
    Tijekom noći provodi se rutinsko ažuriranje dodatka. Stranica izgleda potpuno kao prije.
  2. Dan 1
    Stiže posljednja poruka. Nitko ne zna da je posljednja.
  3. Dani 2–13
    Posjetitelji i dalje šalju obrazac i vide „Hvala”. Ništa ne stiže u ulaznu poštu.
  4. Dan 14
    Netko nazove i pomalo ljutito pita zašto nitko nije odgovorio na njegov upit.
  5. Dan 15
    Uzrok se pronađe unutar jednog sata. Poruke iz ta dva tjedna izgubljene su – osim ako je obrazac čuvao i kopiju.
Nije stvaran slučaj – ali je vrlo tipičan obrazac događaja.

Uobičajeni uzroci

  • Promijenjena je SMTP lozinka ili pružatelj usluge e-pošte. Obrazac se i dalje prijavljuje starim pristupnim podacima, a poslužitelj e-pošte odbija prijavu – neprimjetno za posjetitelja.
  • PHP mail() bez autentifikacije. Web-poslužitelj šalje e-poštu izravno, bez prijave na odgovarajući poslužitelj e-pošte. Mnogi prijamni poslužitelji takvu poštu smatraju sumnjivom: završava u neželjenoj pošti ili se odmah odbija.
  • SPF, DKIM i DMARC nisu usklađeni. Mnogi obrasci stavljaju adresu posjetitelja u polje From. Poruka tada tvrdi da dolazi, primjerice, s adrese gmail.com, ali šalje je Vaš web-poslužitelj – upravo ono što je DMARC namijenjen spriječiti.
  • Ažuriranje dodatka ili promjena teme naruši rad obrasca ili njegove CAPTCHA-e. Izmijenjeni predložak izostavi polje, skripta se više ne učitava ili se CAPTCHA dodatak pojavi bez svoje skripte – i svako slanje padne na provjeri valjanosti.
  • Poštanski sandučić primatelja pun je. Poslužitelj e-pošte odbija nove poruke, a obavijest o neisporuci odlazi na adresu koju nitko ne čita.
  • Natpis za kolačiće blokira skriptu obrasca. Ako alat za privolu CAPTCHA-u ili skriptu obrasca svrsta u „marketing”, posjetitelji koji odbiju kolačiće mogu dobiti obrazac koji se ne može poslati ili čije se slanje odbija jer nedostaje token.
  • Istekli TLS certifikat ili domena. Posjetitelji vide upozorenje preglednika i odlaze ili se poslužitelju e-pošte više ne može sigurno pristupiti. Ako istekne domena poštanskog sandučića primatelja, isporuka pošte na njega jednostavno prestaje.
  • Sloj predmemoriranja poslužuje zastarjele stranice. Predmemorija cijele stranice može isporučiti obrazac s isteklim sigurnosnim tokenom (nonce ili CSRF tokenom). Poslužitelj odbija slanje, a ovisno o postavkama posjetitelj ne vidi jasnu pogrešku.

Zamka adrese From

Treći uzrok zaslužuje podrobniji pogled jer je u mnogim postavkama obrazaca ugrađen prema zadanim postavkama. DMARC provjerava podudara li se domena u vidljivoj adresi From s domenom za koju jamči SPF ili DKIM. Ako obrazac šalje poruku „s” adrese posjetitelja, Vaš poslužitelj nije ovlašten slati za tu domenu, pa provjera ne uspijeva. Ovisno o DMARC pravilima domene posjetitelja i Vašem pružatelju usluge e-pošte, poruka završava u neželjenoj pošti ili se odbija. Rješenje je jednostavno: šaljite s adrese na vlastitoj domeni, a adresu posjetitelja stavite u Reply-To. Klik na „Odgovori” i dalje vodi do posjetitelja.

Dva načina slanja iste poruke iz obrasca
Nepouzdano
  • From: adresa posjetitelja
  • Bez Reply-To
  • PHP mail() izravno s web-poslužitelja
  • Bez SPF-a, DKIM-a ili DMARC-a za domenu pošiljatelja
  • Poruka postoji samo kao e-pošta
Pouzdano
  • From: adresa na Vašoj domeni, npr. form@yourdomain
  • Reply-To: adresa posjetitelja
  • SMTP s autentifikacijom ili usluga slanja
  • SPF, DKIM i DMARC postavljeni i usklađeni
  • Kopija se pohranjuje i u bazu podataka
Desni stupac zahtijeva tek malo više posla – uglavnom se radi o konfiguraciji.

Što učiniti

  1. 1Redovito šaljite probnu poruku putem vlastitog obrasca – barem jednom mjesečno i uvijek nakon ažuriranja, promjena teme ili postavki e-pošte. Jasno je označite kao test da nitko na nju ne odgovori.
  2. 2Poznajte svoj uobičajeni ritam. Ako obrazac obično donosi nekoliko poruka tjedno, dva tjedna tišine razlog su za provjeru, a ne miran mjesec.
  3. 3Šaljite putem SMTP-a s autentifikacijom – preko svojeg pružatelja e-pošte ili namjenske usluge slanja – umjesto da se oslanjate na PHP mail().
  4. 4U polju From koristite vlastitu domenu, a u Reply-To adresu posjetitelja. Zatim postavite SPF, DKIM i DMARC za tu domenu kako bi poruke prošle provjere.
  5. 5Čuvajte kopiju svakog poslanog obrasca u bazi podataka. Mnogi dodaci za obrasce to nude, katkad kao proširenje. Ako e-pošta zakaže, upiti su i dalje dostupni.
  6. 6Provjerite obrazac nakon svakog ažuriranja dodatka – uključujući CAPTCHA-u, a također i uz odbijene kolačiće.

Provjere poput ovih lako je zaboraviti, pa ih se isplati automatizirati. Uz račun i potvrđenu domenu formexposed može poslati jasno označen probni obrazac i provjeriti stiže li doista (provjera isporuke, samo uz izričito uključivanje). Otkriva i tišinu – obrazac koji inače prima poruke odjednom ne prima nijednu – te provjerava SPF, DKIM i DMARC obavijesti e-poštom, kao i istek TLS certifikata i domene. Upozorenje dobivate samo kada se nešto promijeni.

Ako želite samo početni uvid: besplatna provjera na formexposed.com ne zahtijeva račun i ništa ne šalje putem obrasca. Među ostalim pokazuje postoji li CAPTCHA koja ne radi – dodatak bez svoje skripte, javni testni ključ, pogreške u pregledniku – što je jedan od manje primjetnih načina na koje obrazac prestane raditi. Stižu li poruke doista može se potvrditi samo stvarnom probnom porukom, stoga je pošaljite već danas.