Ilustracija dijagnostike dostave emaila s web forme kroz server i tehničke provjere do inboxa

Zašto email s web forme ne stiže u inbox i kako to riješiti

Nikola Cakelic•Održavanje•12. 10. 2026.•2.612 riječi•14 min čitanja
održavanjeemail marketingsigurnost

Kontakt forma prikaže poruku “Hvala, javit ćemo vam se uskoro”, posjetitelj ode zadovoljan, a email nikad ne stigne u vaš inbox. Nema greške, nema obavijesti, nema bounce poruke. Poruka je jednostavno nestala. Ovo je jedan od najčešćih problema koje rješavam kod klijenata — i jedan od najskupljih, jer svaki nestali email je potencijalni klijent koji je otišao konkurenciji.

Ono što ovaj problem čini podmuklim jest to što izgleda kao da sve radi. Forma je ispravno povezana, poruka zahvale se prikazuje, a vi tjednima ne primite nijedan upit. Posjetitelj misli da ste ga ignorirali, vi mislite da nitko ne šalje upite, a email se zapravo zaglavio negdje na putu između vašeg servera i sandučića.

U ovom članku objašnjavam kako email zapravo putuje od forme do inboxa, zašto su Gmail, Yahoo i Outlook poslije 2024. znatno stroži, koja konfiguracijska greška krivac je u većini slučajeva i kojim redoslijedom ja rješavam problem kod klijenata.

Kako email putuje od forme do inboxa

Većina ljudi misli da je slanje poruke s kontakt forme jedan proces. Zapravo su to dva potpuno odvojena koraka, a kvar u drugom koraku ne ostavlja nikakav vidljivi trag.

Korak 1: Preglednik → Server. Posjetitelj popuni formu i pritisne “Pošalji”. Preglednik pošalje podatke na server HTTP zahtjevom. Kad server uspješno primi podatke, posjetitelj vidi poruku zahvale. Do ovdje je sve vidljivo i mjerivo.

Korak 2: Server → SMTP → Inbox. Tek sada server pokušava poslati email. Poruka prolazi kroz mail server, zatim kroz filtere primatelja (Gmail, Outlook i drugi) i na kraju — ako sve prođe — završava u inboxu.

Problem je u tome što korisnik vidi samo prvi korak. “Hvala” poruka znači samo da je server primio podatke. Ne znači da je email ikad poslan, a kamoli da je stigao. Ako SMTP slanje zakazuje, greška se u većini postava tiho proguta: kod je već vratio “uspjeh”, posjetitelj je zadovoljan, a poruka je nestala bez traga.

Zato forma može tjednima “raditi” dok netko ne primijeti da upita nema. Jedini pouzdani test je poslati poruku i provjeriti je li stigla — o tome pišem kasnije u članku.

Pravila koja su sve promijenila: Gmail, Yahoo i Outlook

Prije 2024. email servisi su autentifikaciju tretirali kao preporuku. To je gotova prošlost.

Od 1. veljače 2024. Gmail zahtijeva da svi pošiljatelji autenticiraju email barem jednom od dvije metode: SPF ili DKIM. Poruke bez autentifikacije Gmail označava kao spam ili ih odbija s greškom 5.7.26. Za pošiljatelje koji šalju 5.000 ili više poruka dnevno na Gmail adrese, zahtjevi su još stroži: SPF i DKIM zajedno, objavljen DMARC zapis (najmanje p=none), usklađenost From domene s autenticiranom domenom, podrška za one-click odjavu i stopa spama ispod 0,3%. Yahoo je uveo praktički ista pravila u isto vrijeme.

Microsoft se pridružio u svibnju 2025. s gotovo identičnim zahtjevima za Outlook, Hotmail i Live adrese. Neusaglašeni pošiljatelji velikog volumena od tada završavaju u Junk mapi, s najavom potpune blokade.

U praksi to znači: ako vaša kontakt forma šalje email bez ispravne autentifikacije, danas to više nije “malo lošija dostava” — to je poruka koja završava u spamu ili se odbacuje. A kontakt forme su po prirodi male, hladne i bez reputacije, pa filteri prema njima reagiraju najosjetljivije.

Dobra vijest: sva potrebna pravila su javno dokumentirana i besplatna za postaviti. Loša vijest: većina web stranica ih i dalje nema.

From vs Reply-To: greška broj jedan

Ako bih iz svih mogućih konfiguracijskih grešaka morao izdvojiti jednu koju vidim najčešće, to bi bila ova: kontakt forma stavlja posjetiteljevu email adresu u From zaglavlje.

Logika autora forme je razumljiva — žele da odgovor na poruku ide direktno posjetitelju. Ali posljedica je tehnički krah: vaš server tada šalje email koji tvrdi da dolazi s gmail.com ili outlook.com, a vaš server nema nikakvo ovlaštenje za te domene. SPF provjera pada u prvih nekoliko milisekundi, DMARC usklađenost ne postoji, a Gmail i Outlook takvu poruku tretiraju točno onako kako se ponaša — kao krivotvorinu.

Ispravan obrazac izgleda ovako:

  • From: adresa na vašoj domeni, npr. obavijesti@vasadomena.hr — to je identitet koji vaš DNS može potvrditi
  • Reply-To: posjetiteljeva adresa — odgovor na poruku i dalje ide direktno posjetitelju

U Contact Form 7 to znači: u From polje ide Vasa Tvrtka <obavijesti@vasadomena.hr>, a posjetiteljeva adresa ide u Additional headers kao Reply-To: [your-email]. Isti obrazac podržavaju WPForms, Gravity Forms, Fluent Forms i ostali popularni pluginovi — samo se polja zovu malo drugačije.

Ova jedna izmjena rješava dostavljanje u značajnom dijelu slučajeva, prije nego što se uopće dira u DNS zapise.

7 najčešćih razloga zašto email ne stiže u inbox

1. Email završava u spam folderu

Simptomi: Poruke se povremeno nađu u spamu, povremeno nestanu bez traga. Bounce poruke nema.

Uzrok: Najčešći razlog svih. Kad server pošalje email, Gmail i Outlook u nekoliko milisekundi provjeravaju tri stvari:

  • SPF — je li server koji šalje email ovlašten za domenu iz koje tvrdi da šalje?
  • DKIM — je li poruka potpisana digitalnim potpisom koji dokazuje da nije mijenjana u prijenosu?
  • DMARC — što treba učiniti ako prve dvije provjere ne uspiju?

Ako domena nema pravilno postavljene zapise, poruka završava u spamu ili se odbija. Od 2024. ovo više nije granični slučaj — to je standardno ponašanje svih velikih provajdera.

Rješenje: Postavite SPF, DKIM i DMARC zapise u DNS domene. Detaljan vodič pronađite u članku o SPF, DKIM i DMARC zaštiti emaila.

2. Netočna adresa primatelja

Simptomi: Email ne stiže nikome, čak ni u spam. Ponekad bounce poruka stigne na adresu pošiljatelja.

Uzrok: Pogreška u postavkama obavijesti. Najčešći scenariji koje viđam:

  • Tipka u adresi (info@domena.h umjesto .hr)
  • Adresa bivšeg zaposlenika koja je obrisana
  • Grupna adresa (info@) čije je prosljeđivanje prekinuto kad je netko napustio tvrtku
  • Stara adresa s prijašnjeg hostinga

Rješenje: Provjerite postavke obavijesti u CMS-u ili formi. Pošaljite test poruku na adresu koju kontrolirate i provjerite stiže li. Ako forma nudi više primatelja, jedan nevažeći email u listi može prekinuti cijeli lanac slanja.

3. Hosting blokira slanje emaila

Simptomi: Email nikad ne stigne i nema bounce poruke. Problem se pojavio nakon preseljenja ili je trajao od početka.

Uzrok: Shared hosting provajderi blokiraju ili ograničavaju slanje s web servera iz sigurnosnih razloga. Klasičan blok odnosi se na port 25, ali moderni SMTP radi preko portova 587 i 465, koji su rijetko blokirani. Ozbiljniji slučaj: managed hosting platforme poput WP Engine-a, Kinste i Flywheel-a blokiraju cijeli outbound SMTP — jedini put je slanje preko API-ja vanjskog servisa. Kinsta na nižim paketima dodatno ograničava broj transakcijskih emailova na 150 dnevno.

Rješenje: Umjesto PHP mail() funkcije koristite vanjski servis (Brevo, Mailgun, SendGrid) — po mogućnosti preko API integracije, koja radi čak i tamo gdje su SMTP portovi zatvoreni. O DNS zapisima koje tada trebate dodati pisao sam u članku o A, CNAME, MX i TXT zapisima.

4. From adresa krivotvori tuđu domenu

Simptomi: Forma radi, test poruke ponekad stignu, ali prave poruke od posjetitelja nestaju.

Uzrok: Posjetiteljeva adresa u From polju — greška broj jedan koju sam opisao gore. Server šalje poruku “u ime” gmail.com ili neke druge domene, SPF pada i filter poruku uklanja.

Rješenje: From adresa na vlastitoj domeni, posjetiteljeva adresa u Reply-To. Ovo provjerite prije bilo čega drugog.

5. Plugin konflikti, ažuriranja i tihi kvarovi

Simptomi: Sve je radilo, pa prestalo — bez ikakve izmjene koju biste se sjetili.

Uzrok: Ovdje se skriva nekoliko podmuklih scenarija:

  • Contact Form 7 v6.1.5 (veljača 2026.) uveo je strožu validaciju Additional headers polja. Neispravno formatiran Reply-To ili stari custom headeri koje je forma prije tolerirala sada blokiraju slanje cijele poruke. Provjerite da je svaki header u obliku Naziv: vrijednost, jedan po retku.
  • Same-domain routing: ako primatelj emaila (npr. info@vasadomena.hr) ima sandučić na Google Workspace ili Microsoft 365, a forma šalje s hosting servera, server može pokušati dostaviti poruku “sebi” lokalno umjesto vani. Poruka tada završi u nepostojećem lokalnom sandučiću. Rješenje: u cPanelu postavite Email Routing na “Remote”.
  • WP-Cron zaglavljen red: neki SMTP pluginovi šalju emailove kroz red čekanja. Ako je WP-Cron neispravan, poruke sjede u redu zauvijek. Provjerite ima li plugin sekciju “Pending” ili “Queue”.
  • Security, caching i anti-spam pluginovi mogu presretati wp_mail() funkciju ili blokirati SMTP vezu.

Rješenje: Deaktivirajte pluginove jedan po jedan počevši od posljednje instaliranog i testirajte formu nakon svake promjene. Ako ste nedavno ažurirali formu ili SMTP plugin, provjerite je li ažuriranje promijenilo format headera — o tome sam pisao detaljnije u članku o održavanju i ažuriranju WordPress stranica.

6. CAPTCHA ili anti-spam lažna blokada

Simptomi: Posjetitelj vidi poruku o uspjehu, email ne stiže, grešaka nema.

Uzrok: ReCAPTCHA ili honeypot polje blokira legitimnu poruku. Najčešći razlozi: istekli ili pogrešno postavljeni sigurnosni ključevi, reCAPTCHA v3 ocjena koja legitimirne posjetitelje ocijeni sumnjivima, te browser autofill koji popuni skriveno honeypot polje.

Rješenje: Testirajte formu u inkognito prozoru. Provjerite jesu li site key i secret key aktualni. Ako koristite honeypot, dodajte autocomplete="off" na skriveno polje da autofill ne bi popunjavao polje.

7. Kvota slanja premašena

Simptomi: Sve radi, pa jednom mjesečno “odjednom prestane”.

Uzrok: Besplatni planovi imaju ograničenja koja se tiho aktiviraju. Aktualna stanja:

  • Brevo: 300 emailova dnevno besplatno — trenutno najveća besplatna dnevna kvota
  • SendGrid: 100 emailova dnevno besplatno
  • Mailgun: besplatni plan više ne postoji, samo ograničeni trial
  • Netlify Forms: 100 poruka mjesečno na besplatnom planu
  • Gmail App Password: oko 500 dnevno, ali korištenje za poslovne forme je u sivoj zoni Google uvjeta i ne rješava usklađenost domene

Kad se kvota premaši, servis prestaje slati — bez obavijesti.

Rješenje: Provjerite potrošnju u nadzornoj ploči servisa. Za kontakt forme većine malih tvrtki, Brevovih 300 dnevno je više nego dovoljno.

Kako testiram formu u 5 koraka

Većina vlasnika stranica testira formu jednom — na dan lansiranja — i nikad više. To nije dovoljno. Dostava može pasti nakon ažuriranja hostinga, promjene DNS zapisa ili novog pravila filtriranja. Moj standardni postupak izgleda ovako:

Korak 1: Pošaljite test upit sa žive stranice, ne iz admin panela. Koristite drugu email adresu od primatelja obavijesti.

Korak 2: Provjerite inbox i spam folder. Većina “nestalih” poruka zapravo je u spamu.

Korak 3: Ako koristite Google Workspace ili Microsoft 365, provjerite i quarantine — poruke koje sustav drži ne pojavljuju se ni u jednom folderu koji vidite.

Korak 4: Testirajte s drugog uređaja i mreže. Pohranjeni podaci u vašem pregledniku mogu prikazivati lažnu sliku.

Korak 5: Pošaljite poruku na adresu s mail-tester.com i pogledajte ocjenu od 1 do 10 s popisom grešaka.

Bonus korak: u Gmailu otvorite primljenu poruku, kliknite tri točkice i odaberite “Pokaži izvornik”. Potražite retke SPF:, DKIM: i DMARC: — sva tri trebaju pokazivati PASS.

Ovaj test ponavljam kod klijenata jednom mjesečno, ne samo kad netko prijavi problem. Tihi kvarovi se ne prijavljuju — tiho koštaju klijenata.

Kako rješavam problem: redoslijed koraka

Kad email s forme ne stiže, problem rješavam ovim redoslijedom — od najčešćeg uzroka prema najrjeđem:

1. Ispravite From i Reply-To. From adresa na vašoj domeni, posjetiteljeva adresa u Reply-To. Ovo je besplatno, traje pet minuta i rješava velik dio slučajeva.

2. Prijeđite na autenticirano slanje. PHP mail() funkcija nema autentifikaciju ni vidljivost. Povežite formu s vanjskim servisom (Brevo, Mailgun, SendGrid) preko SMTP-a ili API-ja.

3. Postavite SPF zapis. SPF zapis u DNS-u govori primateljima koji serveri smiju slati email za vašu domenu. Dvije zamke: domena smije imati samo jedan SPF zapis (dva zapisa čine cijelu provjeru nevažećom), a zapis smije sadržavati najviše 10 DNS pretraga.

4. Uključite DKIM. DKIM dodaje digitalni potpis svakoj poruci i — za razliku od SPF-a — preživljava prosljeđivanje emaila. Minimalna duljina ključa je 1024 bita, a preporuka je 2048. Ključ generira vaš email servis, vi samo dodate zapis u DNS.

5. Postavite DMARC s izvještavanjem. Minimalni zapis koji zadovoljava Gmail zahtjeve: v=DMARC1; p=none; rua=mailto:dmarc@vasadomena.hr. Počnite s p=none (samo praćenje), gledajte izvještaje dva tjedna, pa preko p=quarantine pređite na p=reject.

6. Pohranite svaki upit i uključite logiranje. Email može propasti, baza podataka ne. Na WordPressu pluginovi poput Flaminga (za Contact Form 7) ili ugrađene pohrane u WPForms i Fluent Forms spremaju svaku prijavu. Za log slanja preporučujem FluentSMTP — potpuno besplatan, s uključenim logiranjem svake poruke. WP Mail SMTP je popularniji, ali logiranje nudi samo u plaćenoj verziji.

Detalje o postavljanju SPF, DKIM i DMARC zapisa korak po korak našao ćete u članku o SPF, DKIM i DMARC zaštiti, a objašnjenje DNS zapisa općenito u članku o A, CNAME, MX i TXT zapisima.

Često postavljana pitanja o emailu s web formi

Zašto mi Google šalje upozorenja o nedostajućem SPF zapisu? Google redovito pregledava DNS zapise domena koje šalju email na Gmail adrese. Ako SPF zapis ne postoji ili ne pokriva sve servise koji šalju u ime vaše domene, Google vas obavještava. Upozorenje ne znači da email trenutno ne stiže, ali je jasno upozorenje da će dostava pasti čim filteri pooštre.

Moram li plaćati SMTP servis? Za kontakt forme većine malih tvrtki — ne. Brevo nudi 300 emailova dnevno besplatno, SendGrid 100 dnevno. To je daleko iznad broja upita koje tipična kontakt forma generira. Plaćeni planovi postaju aktualni tek kod newslettera i većeg transakcijskog volumena.

Je li dovoljan samo SPF ili trebam i DKIM? Za male količine tehnički je dovoljan jedan od dva, ali preporučujem oboje iz jednog praktičnog razloga: SPF provjera pada čim poruku netko proslijedi dalje, dok DKIM potpis preživljava prosljeđivanje. Ako itko ikad proslijedi upit kolegi, samo DKIM održava autentifikaciju netaknutom.

Kako provjerim je li moj email autenticiran? Otvorite primljenu poruku u Gmailu, kliknite tri točkice pored gumba za odgovor i odaberite “Pokaži izvornik”. Na vrhu potražite retke SPF:, DKIM: i DMARC:. Sva tri trebaju pokazivati PASS. Ako neki pokazuje FAIL ili NONE, imate konkretan trag o tome što treba popraviti.

Zašto email stiže na Gmail, ali ne i na Outlook? To znači da poruka prolazi kod jednog provajdera, a pada kod drugog. Najčešći razlog je DMARC usklađenost ili reputacija domene koju Outlook strože ocjenjuje — osobito od svibnja 2025., kad je Microsoft uveo zahtjeve usklađene s Gmailovima. Testirajte s adresama na više provajdera i usporedite “Pokaži izvornik” podatke.

Koji WordPress plugin preporučuješ za slanje emailova? Za većinu korisnika preporučujem FluentSMTP: potpuno besplatan, podržava API integracije s glavnim servisima i ima uključeno logiranje svake poruke. WP Mail SMTP je popularniji i ima najviše uputa online, ali logiranje poruka nudi samo u plaćenoj verziji. Za samu formu, Contact Form 7, WPForms i Fluent Forms svi rade dobro — bitno je da From i Reply-To postavite ispravno bez obzira na plugin.

Zaključak

Kontakt forma koja tiho gubi emailove nije tehnička sitnica — to je kvar na prodajnom kanalu. Svaki upit koji ne stigne u inbox je klijent koji je vjerojatno otišao konkurenciji, a da vi ikad niste saznali da je postojao.

Dobra vijest je da je većina uzroka jeftina za popraviti. Ispravan From i Reply-To, vanjski SMTP servis i tri DNS zapisa rješavaju veliku većinu slučajeva — i sve to možete postaviti besplatno u jednom poslijepodnevku.

Provjerite svoju formu danas: pošaljite test upit, pogledajte spam folder i otvorite “Pokaži izvornik” u primljenoj poruci. Ako nešto ne štima, slijedite redoslijed iz ovog članka.

A ako vam je lakše da to netko drugi napravi i redovito provjerava, javite mi se. U sklopu održavanja web stranica mjesečno testiram forme svojih klijenata — da upit nikad ne nestane bez da to znate.


Izvori

  • Google, Email sender guidelines: support.google.com
  • Yahoo, Sender Best Practices: senders.yahooinc.com
  • DMARCPath, Gmail and Yahoo Sender Requirements: The Complete Guide: dmarcpath.com
  • WP Mail SMTP, Why Is Contact Form 7 Not Sending Emails: wpmailsmtp.com
  • Kinsta, How to Fix the WordPress Not Sending Emails Issue: kinsta.com
  • SwiftlyWP, WordPress Email Deliverability 2026: SPF, DKIM, DMARC & SMTP Fix: swiftlywp.com
  • FormDoctor, Contact Form 7 Troubleshooting Guide: formdoctor.app
  • Web60, WordPress Email Deliverability: 2026 Rules: web60.ie
  • WPForms, How to Fix the WordPress Not Sending Emails Issue: wpforms.com
  • MailRoute, Quarantined Web Forms: Troubleshooting and Resolution: mailroute.net
  • Fly High Web, Why Is My Website Not Receiving Contact Form Enquiries?: flyhighweb.com

Podijeli članak:

Zatražite ponudu za izradu web stranice

Pročitali ste kako izgleda dobra web stranica u praksi. Ako želite istu razinu pažnje na svome, javite mi se — pogledat ćemo što vašoj stranici treba.

Zatražite besplatnu ponudu