Preskoči na sadržaj
WordPress12 min čitanja

WordPress ne šalje email: kako popraviti kontakt formu

Kontakt forma prikaže da je poruka poslata. Posetilac zatvori stranicu i čeka odgovor, a vama ne stigne ništa. Sajt se otvara, dugme radi, pa problem lako ostane neprimećen. Ako WordPress ne šalje email, prvo treba utvrditi dokle je poruka stigla. Menjanje plugin-a naslepo ume samo da zameni jedan problem drugim.

Nikola FilićObjavljeno Provereno
Put upita kroz kontakt formu, WordPress, SMTP server i sanduče primaoca; zasebna kopija u bazi čuva upit ako email ne stigne
Prihvaćen unos, uspešno slanje i primljen email su odvojene provere. Sačuvajte i sam upit.

Zašto poruka poslata ne znači da je stigla

Ako kontakt forma ne šalje email, proverite primaoca i spam folder, zatim odvojeno testirajte slanje iz WordPress-a i iz same forme. Za slanje koristite SMTP ili podržanu API vezu sa email provajderom. Pošiljalac treba da bude adresa koju taj servis dozvoljava; email posetioca ide u Reply-To. Uključite i čuvanje upita u bazi.

Poruka prolazi nekoliko odvojenih koraka: forma prihvati unos, WordPress pripremi email, odlazni server ga preuzme, pa server primaoca odluči šta će sa njim. Na svakom od tih mesta slanje može da stane. Potvrda na sajtu govori o rezultatu koji je forma dobila, ne o tome šta se nalazi u vašem inbox-u.

To izričito piše i u WordPress dokumentaciji: uspešan rezultat funkcije wp_mail() ne znači da je primalac dobio poruku. WordPress podrazumevano koristi PHP mail transport, koji zavisi od podešavanja servera. SMTP dodatak menja put slanja, ali sam po sebi ne popravlja pogrešnog primaoca ili podešavanja forme.

Prvo sačuvajte upite koji sada dolaze

Pre nego što provedete popodne u SMTP podešavanjima, proverite postoji li kopija poruka u administraciji sajta. Kontakt forma koja samo šalje email može da izgubi upit čim slanje zakaže. Ako sajt služi za ponude ili zakazivanje, privremeno istaknite i direktnu email adresu ili telefon dok otklanjate problem.

Contact Form 7 ne čuva poslate poruke sam od sebe. Njegov autor za to nudi besplatni dodatak Flamingo. Posle instalacije i aktivacije pošaljite novu probnu poruku i proverite da li je vidite u Flamingo → Inbound Messages. Ako koristite drugi dodatak za forme, proverite da li vaša verzija zaista čuva unose; ekran sa email podešavanjima nije dokaz da postoji arhiva upita.

Instalacija danas ne vraća jučerašnje poruke. Ako ih ranije nije sačuvao dodatak, email sistem ili neki drugi servis, možda nema sadržaja koji možete da povratite. Kopija unosa u WordPress bazi čuva upit. Log emaila može da beleži samo pokušaj slanja, bez sadržaja poruke, pa proverite šta konkretno ostaje u vašem alatu.

Arhivi upita ograničite pristup i odredite kada brišete stare poruke. Tu su imena, adrese i sadržaj razgovora. Uključite tu bazu u rezervnu kopiju WordPress sajta, pa testirajte i čuvanje unosa, ne samo email obaveštenje.

Kako da utvrdite gde slanje zapinje

Zapišite tačno vreme probe, sa vremenskom zonom, i stavite prepoznatljiv naslov, na primer Proba kontakt forme 13.10. u 14:20. Tako ćete tu poruku lakše naći u sandučetu i logovima. Testirajte sa adresama koje kontrolišete i koristite izmišljen sadržaj, bez podataka klijenata.

  • Pošaljite običan email sa drugog naloga na adresu kojoj forma šalje obaveštenja. Ako ni on ne stiže, proverite sanduče, njegovu kvotu, filtere i dolaznu poštu pre menjanja WordPress-a.
  • U podešavanjima forme proverite polje To, uključena obaveštenja i uslove pod kojima se ona šalju. Pregledajte spam, karantin i pretragu svih foldera na stvarnoj adresi primaoca.
  • Iz SMTP dodatka pošaljite testni email. Zabeležite i rezultat dodatka i da li je poruka stvarno stigla. Ako test zakaže, počnite od veze sa serverom, prijave i dozvole za slanje.
  • Otvorite javnu kontakt stranicu kao posetilac i pošaljite novu poruku. Ako SMTP test stiže, a poruka iz forme ne stiže, proverite podešavanja forme i njenu zaštitu od spama. Uspešan SMTP test sužava potragu, ali je ne završava.

U Contact Form 7 dokumentaciji narandžasti okvir označava da je zaštita forme prepoznala spam, a crveni neuspešan pokušaj slanja. Tema može da promeni izgled tih poruka, pa pročitajte i tekst greške. Zaštita na formi može da zaustavi upit pre slanja emaila; spam folder primaoca je kasniji korak. Nemojte trajno isključiti zaštitu forme da biste rešili problem sa dostavom.

From je vaš sajt, Reply-To je posetilac

Uzmimo primer: posetilac unese kupac@example.net, a vi želite da njegov upit stigne prodaji. Email obaveštenje šalje vaš sajt kroz vaš nalog. Zato kao From koristite svoju adresu, na primer sajt@primer.example, koju odlazni servis dozvoljava. Posetiočevu adresu stavite u Reply-To, da odgovor iz vašeg email programa ode njemu.

Ako u From stavite posetiočev Gmail ili Yahoo, vaš server pokušava da pošalje poruku sa tuđim identitetom. Ne možete da ovlastite svoj server da šalje u ime svakog domena čiju adresu neko unese u formu. Contact Form 7 preporučuje pošiljaoca na domenu sajta i posebno podešavanje adrese za odgovor.

Primer podešavanja u Contact Form 7

U administraciji otvorite Contact → Contact Forms, izaberite formu, pa karticu Mail. Ovo je primer za sajt na domenu primer.example, sa postojećim pošiljaocem i poljima your-name, your-email i your-message. Domeni .example i example.net ovde su rezervisani za primere. Zamenite ih svojim stvarnim adresama.

text
To: prodaja@primer.example From: Sajt firme <sajt@primer.example> Subject: Novi upit sa sajta Additional headers: Reply-To: [your-email] Message body: Ime: [your-name] Email: [your-email] Poruka: [your-message]

Svaki red unesite u odgovarajuće polje, ne ceo primer u jedno polje. Nazivi u uglastim zagradama moraju da odgovaraju poljima vaše forme; your-email treba da bude obavezno email polje. Ako se kod vas zove email-adresa, koristite [email-adresa]. Primalac u To treba da bude vaša unapred određena adresa, a ne vrednost koju posetilac slobodno bira. Raspored polja objašnjava zvanično uputstvo za Mail karticu.

Posle čuvanja rešite upozorenja koja dodatak prikazuje. Zatim pošaljite probni upit i kliknite na odgovor u primljenoj poruci. Ako odgovor ide na sajt@... umesto posetiocu, proverite Reply-To. Uspešna dostava sa pogrešnom adresom za odgovor i dalje pravi problem prodaji.

SMTP podešavanje za nalog na hostingu

SMTP je veza kroz koju WordPress predaje email odlaznom serveru. Za mali sajt možete koristiti nalog kod email provajdera, ako taj nalog dozvoljava ovakvo slanje i njegov limit odgovara vašem obimu. Za veći broj automatskih poruka razmotrite servis za transakcioni email, sa evidencijom dostave. Pre izbora proverite koliko poruka smete da šaljete i ko vam pomaže kada dostava zakaže.

Od provajdera uzmite naziv odlaznog servera, port, način šifrovanja i podatke za prijavu. Napravite poseban nalog za sajt ako je moguće. Lozinka tog naloga nije lozinka za WordPress administraciju niti za hosting panel. Korisničko ime često je cela email adresa, ali pratite podatke svog provajdera.

WP Mail SMTP je jedan od dodataka koji podržavaju ovu vezu. Pre izmene napravite backup i proverite da drugi aktivni dodatak već ne upravlja slanjem. U WP Mail SMTP → Settings podesite From Email na odobrenog pošiljaoca. Opcija Force From Email može da spreči ostale dodatke da ga prepišu, ali utiče i na druga WordPress obaveštenja. Za nalog koji podržava prijavu korisničkim imenom i lozinkom izaberite Other SMTP, prema uputstvu proizvođača.

text
From Email: sajt@primer.example SMTP Host: naziv servera koji daje provajder SMTP Port: 587, ako ga provajder podržava Encryption: TLS / STARTTLS za taj port Authentication: uključena SMTP Username: korisničko ime naloga za slanje SMTP Password: lozinka tog naloga Druga podržana kombinacija može biti: Port 465 + SSL / implicitni TLS

Port 587 se uobičajeno koristi sa STARTTLS-om, a 465 sa TLS-om od početka veze. Dodatak drugi režim može da nazove SSL, iako se danas koristi TLS. Oba pristupa opisuje RFC 8314. Izaberite kombinaciju koju provajder podržava. Nemojte menjati portove nasumično, gasiti šifrovanje ili isključivati proveru sertifikata da bi test prošao. HTTPS sertifikat sajta ne potvrđuje da je SMTP veza ispravna.

Sačuvajte podešavanja, pa u WP Mail SMTP → Tools → Email Test unesite adresu sandučeta koje možete da proverite. Posle probe otvorite to sanduče. Potvrdu dodatka i stvarnu dostavu zabeležite odvojeno.

Gmail i Microsoft 365 imaju drugačiju prijavu

Za Google ili Microsoft nalog koristite vezu koju podržavaju provajder i vaš dodatak, obično OAuth ili API integraciju. To je prijava kojom odobrite aplikaciji pristup bez upisivanja obične lozinke naloga u SMTP polje. Proverite da li je ta integracija dostupna u izdanju dodatka koje koristite; mogućnosti i cene se razlikuju.

Google preporučuje prijavu preko Google naloga kada je dostupna. Lozinka za aplikaciju zahteva verifikaciju u dva koraka i nije dostupna za svaki nalog. Microsoft ima zvanično uputstvo za OAuth autentifikaciju SMTP veze. Nemojte pretpostaviti da primer sa običnim korisničkim imenom i lozinkom važi i za vaš poslovni nalog.

SMTP radi, ali poruka i dalje ne stiže

Ako server preuzme poruku, a ona nestane ili završi u spamu, proverite evidenciju dostave i autentifikaciju domena. SMTP prijava potvrđuje da smete da koristite nalog. Primaočev server potom proverava identitet poruke i njenu reputaciju, pa i email poslat kroz ispravan nalog može da odbije.

SPF treba da ovlasti stvarni sistem koji šalje, DKIM da potpiše poruku, a DMARC da proveri usklađenost sa domenom iz From. Za DMARC je dovoljan prolaz usklađenog SPF-a ili DKIM-a. Ako SPF prođe za domen provajdera, a u From je vaš domen, samo taj rezultat ne dokazuje da DMARC prolazi. Pravilo usklađenosti opisuje RFC 9989.

DNS vrednosti uzmite iz servisa preko kog stvarno šaljete. Dodajte ih kod provajdera koji trenutno upravlja autoritativnom DNS zonom, što može biti hosting, registrar ili poseban DNS servis. Ako već imate SPF, dopunite postojeću politiku uz očuvanje drugih legitimnih pošiljalaca. Za isti naziv domena nemojte praviti dva odvojena TXT zapisa koja počinju sa v=spf1; to krši SPF pravilo iz RFC 7208. Objašnjenje pojedinačnih polja imate u vodiču kroz DNS zapise.

SMTP podešavanje za slanje ne zahteva promenu MX zapisa za prijem. Ako firma prima poštu preko Google Workspace-a ili Microsoft 365, ostavite njihove MX zapise. Kada upiti na isti domen ne stižu, a na spoljne adrese stižu, zamolite hosting da proveri i lokalno rutiranje pošte: web server možda poruku zadržava lokalno umesto da je pošalje spoljnom email servisu. DirectAdmin to obrađuje kroz podešavanje Local Mail Server za udaljenu poštu.

Na poruci koja stigne otvorite kompletna zaglavlja. U Gmail-u na računaru otvorite meni sa tri tačke pored dugmeta za odgovor, pa Show original odnosno Prikaži original, prema Google-ovom uputstvu. U rezultatima provere tražite SPF, DKIM i DMARC i pogledajte za koje domene važe. Smernice za pošiljaoce objašnjavaju te provere i reputaciju. Čak i kada sve prolazi, spam filter može drugačije da oceni poruku. Za taj deo pročitajte i zašto email završava u spam folderu.

Kad ne uspe ni testna poruka

Sačuvajte tačnu grešku iz SMTP dodatka. Rečenica da slanje nije uspelo daje malo podataka; odgovor servera obično pokazuje od kog dela treba početi. Navedeni kodovi su trag za dijagnostiku, a tekst odgovora i pravila konkretnog provajdera određuju sledeći korak.

  • Could not connect ili Connection timed out: proverite naziv servera, port i da li hosting dozvoljava odlaznu vezu ka njemu. DNS autentifikacija domena ne popravlja prekinutu mrežnu vezu.
  • 535 ili Authentication failed: server nije prihvatio prijavu. Proverite korisničko ime, važeću lozinku ili OAuth vezu i da li je taj način pristupa dozvoljen za nalog.
  • Greška sertifikata: proverite da li naziv SMTP servera odgovara sertifikatu koji server šalje. Zatražite ispravan naziv ili popravku od provajdera; nemojte isključiti proveru sertifikata.
  • 550 ili drugi odgovor koji počinje sa 5: pročitajte celo objašnjenje. Razlog može biti primalac, neodobren pošiljalac ili politika servera. To nije automatski dokaz da ste na crnoj listi.
  • Odgovor koji počinje sa 4 označava privremeni SMTP neuspeh. Proverite da li vaš servis poruku stavlja u red i pokušava ponovo. Ne pokušava svaki WordPress dodatak ponovo automatski.

Značenje 535 opisuje RFC 4954, a razliku između privremenih i trajnih SMTP odgovora RFC 5321. Ako je nedavno promenjena lozinka naloga, ažurirajte i vezu u WordPress-u. Više dodataka sa različitim podešavanjima slanja otežava proveru, pa prvo utvrdite koji od njih stvarno šalje poruku.

Test kojim proveravate celu kontakt formu

Posle podešavanja pošaljite upit sa javne kontakt stranice, odjavljeni iz WordPress-a. Proverite stvarnog primaoca forme; ako je potrebno, dodatno probajte sandučiće kod različitih provajdera koje kontrolišete. Za svaku probu zapišite ishod, da ne pomešate staru testnu poruku sa novom.

  • Forma prihvata ispravan unos i prikazuje odgovarajuću potvrdu.
  • Upit postoji u arhivi forme ili drugom sistemu za čuvanje unosa koji ste podesili.
  • Email stiže na tačnu adresu, sa čitljivim naslovom i celom porukom. Zabeležite da li je u inbox-u, spamu ili karantinu.
  • Pošiljalac je očekivana adresa, a dugme za odgovor vodi na adresu posetioca.
  • Ako forma šalje potvrdu i posetiocu, zasebno proverite i tu poruku. Ona ima drugog primaoca i može imati druga podešavanja.

Ponovite ovu proveru posle migracije, promene email provajdera, lozinke ili dodataka koji utiču na slanje. Upravo taj mali test sam pomenuo u tekstu o serverskim greškama iz Gray Horizon projekta: početna strana koja se otvara ne govori da ostale funkcije rade. Provera forme je završena tek kada pronađete upit i proverite njegovu dostavu.

Šta poslati podršci ako i dalje zapinje

Pošaljite URL forme, naziv dodatka za formu i za slanje, tačno vreme probe sa vremenskom zonom, adresu pošiljaoca i primaoca, naslov testne poruke i redigovan tekst greške. Dodajte da li radi test iz SMTP dodatka, da li postoji sačuvan upit i šta je poslednje menjano. Ako postoji ID poruke ili ID u redu za slanje, uključite i njega. Uklonite lozinke, tokene i sadržaj stvarnih upita.

Ako vam treba pomoć oko WordPress slanja i poslovnog emaila, pošaljite opis problema. Obim posla i eventualnu cenu dogovaramo pre podešavanja.

Pošaljite upit za podešavanje slanja
Pitanja čitalaca

Česta pitanja

Da li SMTP dodatak menja način na koji primam poslovni email?
SMTP dodatak menja slanje iz WordPress-a. Za to ne morate da menjate MX zapise niti da selite postojeća sandučad. Ako sajt i prijem pošte koriste različite provajdere, proverite autentifikaciju domena i lokalno rutiranje na hostingu.
Zašto SMTP test stiže, a poruka iz kontakt forme ne stiže?
Test dodatka proverava svoj put slanja. Forma može imati drugog primaoca, pošiljaoca, uslov za obaveštenje ili zaštitu koja blokira unos. Proverite njena podešavanja i testirajte upit sa javne stranice; sama uspešna SMTP proba ne potvrđuje rad forme.
Mogu li da vratim stare poruke iz Contact Form 7?
Contact Form 7 podrazumevano ne čuva unose. Ako ranije nije radio Flamingo ili drugi sistem koji ih beleži, instalacija dodatka sada ne vraća stare poruke. Proverite postojeću arhivu, sandučad i evidenciju email servisa pre nego što zaključite da je sadržaj izgubljen.
Da li za WordPress slanje moram da kupim plaćeni SMTP dodatak?
Ne nužno. Osnovno povezivanje sa SMTP nalogom dostupno je i u besplatnim dodacima, ali sam nalog mora dozvoljavati slanje i imati odgovarajuće limite. OAuth integracije, logovanje ili ponovno slanje mogu zavisiti od izdanja dodatka i email servisa. Prvo proverite koje mogućnosti već imate.
Izvori

Reference

  1. [01]WordPress — wp_mail() i značenje uspešnog rezultata
  2. [02]Contact Form 7 — FAQ i dijagnostika slanja
  3. [03]Contact Form 7 — podešavanje Mail kartice
  4. [04]Contact Form 7 — preporuke za From i Reply-To
  5. [05]Contact Form 7 — čuvanje upita kroz Flamingo
  6. [06]WP Mail SMTP — Other SMTP podešavanje
  7. [07]RFC 8314 — TLS i portovi za slanje emaila
  8. [08]Google — prijava i lozinke za aplikacije
  9. [09]Microsoft — OAuth za SMTP povezivanje
  10. [10]Google — smernice za pošiljaoce emaila
  11. [11]RFC 7208 — SPF i pravilo jedne politike za domen
  12. [12]RFC 9989 — DMARC i usklađenost domena
  13. [13]RFC 4954 — SMTP autentifikacija
  14. [14]RFC 5321 — SMTP odgovori i put dostave
  15. [15]DirectAdmin — Remote E-Mail i lokalno rutiranje
  16. [16]Google — prikaz kompletnih zaglavlja emaila
NF
OSNIVAČ NIJEFILA DOO

Osnivač NIJEFILA DOO. Piše o hostingu, DNS-u, email infrastrukturi i serverskoj administraciji.

#WordPress#kontakt forma#SMTP#Contact Form 7#email#Reply-To