Kratak odgovor
Ako kontakt forma ne šalje imejlove, najčešći krivac je neispravno slanje preko PHP funkcije mail() ili nedostatak SMTP autentifikacije. Prvo proverite spam folder i logove, zatim podesite SMTP dodatak sa autentifikacijom, pa proverite DNS zapise (SPF, DKIM, DMARC).
Kako se problem prepoznaje
- Poruke sa kontakt forme ne stižu na vaš imejl
- Korisnici prijavljuju da nisu dobili odgovor
- Imejlovi završavaju u spam folderu
- Forma prikazuje poruku o uspehu, ali imejl ne stiže
- Greška „Could not instantiate mail function“ ili slična
Najčešći uzroci
PHP mail() funkcija ne radi
Mnogi hosting provajderi blokiraju ili ograničavaju PHP mail() funkciju, pa poruke ne budu poslate. To je najčešći uzrok.
Nedostatak SMTP autentifikacije
Bez SMTP autentifikacije, imejl serveri često odbijaju poruke ili ih označavaju kao spam. Podešavanje SMTP-a rešava problem.
Pogrešna imejl adresa primaoca
U podešavanjima forme možda je upisana pogrešna adresa ili adresa koja ne postoji. Proverite polje „To“ u podešavanjima dodatka.
Spam filteri na strani primaoca
Poruke mogu biti filtrirane kao spam zbog nedostatka SPF, DKIM ili DMARC zapisa. Proverite spam folder i podešavanja filtera.
Konflikt sa drugim dodacima
Neki dodaci za bezbednost ili keširanje mogu blokirati slanje imejlova. Isključite ih privremeno i testirajte.
Rešenje korak po korak
- 1
Proverite spam folder i logove
Prvo se prijavite na imejl nalog primaoca i proverite spam i junk folder. Ako imate pristup logovima servera, potražite greške vezane za
mail()ili SMTP. U WordPressu možete instalirati dodatak za logovanje imejlova (npr. WP Mail Logging) da vidite da li su poruke uopšte poslate. - 2
Testirajte slanje preko PHP mail()
Instalirajte dodatak „Check & Log Email“ ili „WP Mail SMTP“ i, ako je potrebno, podesite ga da koristi PHP mail() kao način slanja. Pošaljite testni imejl. Ako poruka ne stigne, verovatno je PHP mail() funkcija blokirana ili ne radi ispravno. Većina hosting provajdera nudi SMTP nalog sa autentifikacijom koji treba koristiti.
- 3
Podesite SMTP dodatak
Instalirajte i aktivirajte dodatak WP Mail SMTP ili sličan. U podešavanjima izaberite „Other SMTP“ i unesite podatke koje vam je dao hosting: host (npr.
mail.vasedomen.rs), port (587 za TLS ili 465 za SSL), korisničko ime i lozinku. Sačuvajte i pošaljite testni imejl. - 4
Proverite podešavanja kontakt forme
U podešavanjima dodatka za kontakt formu (npr. Contact Form 7, WPForms) proverite da li je imejl adresa primaoca ispravna. U Contact Form 7 to je polje „To“ u kartici „Mail“. Uverite se da nema slovnih grešaka i da domen primaoca prihvata poštu.
- 5
Proverite SPF, DKIM i DMARC zapise
Ovi DNS zapisi poboljšavaju dostavljivost. SPF zapis treba da uključi server preko kojeg šaljete imejlove (npr.
v=spf1 include:_spf.google.com ~all). DKIM i DMARC se često podešavaju kroz hosting panel ili SMTP servis. Proverite ih alatom kao što je MXToolbox. - 6
Isključite dodatke za bezbednost i keširanje
Privremeno deaktivirajte dodatke za bezbednost (npr. Wordfence) i keširanje. Zatim pošaljite testnu poruku. Ako proradi, ponovo aktivirajte dodatke jedan po jedan da pronađete krivca.
- 7
Proverite da li hosting blokira slanje
Neki hosting provajderi blokiraju port 25 ili zahtevaju da koristite njihov SMTP. Obratite se podršci hostinga i pitajte koje SMTP parametre da koristite. Često je dovoljno koristiti njihov server.
- 8
Instalirajte dodatak za alternativno slanje
Ako ništa ne pomogne, instalirajte dodatak kao što je „Post SMTP“ ili „FluentSMTP“ koji nude naprednije opcije i logovanje. Podesite prema uputstvu i testirajte.
Ako ništa ne pomogne
Ako ste isprobali sve korake, a imejlovi i dalje ne stižu, obratite se hosting provajderu sa detaljima: tačno vreme slanja, adresa pošiljaoca i primaoca, i eventualne greške iz logova. Proverite da li domen primaoca ima stroge spam filtere (npr. Microsoft 365 ili Google Workspace) i zamolite primaoca da doda vašu adresu u bele liste. Takođe, razmislite o korišćenju specijalizovanog servisa za transakcione imejlove (npr. SendGrid, Mailgun) koji ima bolju reputaciju i dostavljivost. Uvek testirajte slanje na više adresa (Gmail, Outlook, Yahoo) da biste videli da li je problem globalan ili specifičan za jednog primaoca.
Kako da sprečite da se ponovi
- Redovno ažurirajte WordPress, dodatke i temu
- Koristite SMTP autentifikaciju umesto PHP mail()
- Podesite SPF, DKIM i DMARC zapise
- Periodično testirajte kontakt formu
Kada je bolje pozvati stručnjaka
Ako ne možete da pristupite hosting panelu, ne znate da podesite DNS zapise ili sumnjate na ozbiljniji problem sa serverom, obratite se IT podršci.
Izrada sajtova · Brzi, SEO optimizovani sajtovi na više jezikaČesta pitanja
Zašto mi poruke sa kontakt forme stižu u spam?
Najčešće zbog nedostatka SPF, DKIM ili DMARC zapisa, ili zato što server šalje bez autentifikacije. Podesite SMTP i DNS zapise da poboljšate reputaciju domena.
Kako da znam da li je problem u WordPressu ili na serveru?
Pošaljite testni imejl preko dodatka za SMTP. Ako ne stigne, problem je na serveru ili u mreži. Ako stigne, problem je u podešavanjima forme ili dodatka.
Da li je bezbedno koristiti PHP mail() funkciju?
PHP mail() nema autentifikaciju i lako može biti zloupotrebljena. Preporučuje se SMTP sa autentifikacijom, koji je sigurniji i pouzdaniji.