Sari la conținut

De ce nu ajung emailurile din WordPress și cum afli cauza

Formularul de contact pare să funcționeze, dar mesajele nu apar în inbox. Vezi cauzele frecvente și un plan de diagnostic în pași, fără termeni complicați.

L Echipa Leono 12 min citire

Ai făcut un test: ai completat formularul de contact, ai primit mesajul „Mulțumim, am trimis cererea ta", dar în căsuța ta de email nu a apărut nimic. Sau, mai rău, un client îți spune că nu a primit confirmarea comenzii, iar tu afli asta abia după trei zile. Situația este foarte des întâlnită și, din fericire, aproape întotdeauna are o cauză concretă care poate fi găsită.

Primul lucru de înțeles este că „emailul a plecat" și „emailul a ajuns" sunt două lucruri diferite. WordPress poate raporta succes imediat ce a predat mesajul serverului, fără să știe ce se întâmplă cu el mai departe. Din acel moment, mesajul trece prin mai multe verificări, iar fiecare dintre ele poate duce la respingere sau la mutarea în spam.

Cum pleacă, de fapt, un email din WordPress

Pentru a înțelege unde se poate rupe lanțul, merită să vezi traseul pe scurt:

  1. Un eveniment pe site (o comandă, o înregistrare, un formular, o resetare de parolă) cere trimiterea unui mesaj.
  2. WordPress apelează funcția internă de trimitere, numită wp_mail().
  3. Funcția predă mesajul serverului de hosting, de obicei prin mecanismul simplu al PHP, fără autentificare.
  4. Serverul tău de hosting încearcă să livreze mesajul către serverul destinatarului (Gmail, Yahoo, Outlook, serverul firmei lor).
  5. Serverul destinatarului decide: acceptă mesajul în inbox, îl acceptă dar îl pune în spam, îl respinge sau pur și simplu îl ignoră.

Pașii 3, 4 și 5 sunt cei în care apar majoritatea problemelor. Pe pasul 2, WordPress nu vede aproape nimic din ce urmează, de aceea „a plecat" nu spune nimic despre „a ajuns". Diferența dintre cele două metode de trimitere este explicată separat în articolul SMTP sau wp_mail: ce diferență este.

Cauzele frecvente, de la cele mai simple la cele mai ascunse

1. Mesajul ajunge în spam sau în „Promoții"

Cea mai banală explicație este și cea mai des ratată: mesajul a ajuns, dar nu în folderul pe care îl verifici. Înainte de orice alt pas, caută în spam, în „Promoții" (la Gmail), în „Alte" (la Outlook) și în folderele create de reguli automate. Caută după subiect sau după adresa expeditorului.

2. Adresa expeditorului nu se potrivește cu serverul care trimite

Implicit, WordPress trimite de la o adresă de tipul wordpress@exemplu.ro, construită automat. Dacă domeniul din această adresă nu este asociat serverului care efectiv trimite mesajul, serverele destinatarilor devin suspicioase. Ele pot verifica dacă IP-ul de pe care vine mesajul are voie să trimită în numele domeniului. Dacă răspunsul este „nu", mesajul riscă să fie respins sau trimis în spam.

3. Lipsesc înregistrările de autentificare (SPF, DKIM, DMARC)

Aici se află, probabil, cea mai frecventă cauză tehnică. Acestea sunt trei „adeverințe" publicate în DNS-ul domeniului tău, care spun lumii: „acest server are voie să trimită pentru mine", „acest mesaj este semnat de mine" și „iată ce să faci cu mesajele care nu trec verificările". Pe scurt:

  • SPF listează serverele care au voie să trimită pentru domeniul tău.
  • DKIM adaugă mesajului o semnătură digitală, verificabilă cu o cheie publică din DNS.
  • DMARC stabilește politica: ce face destinatarul dacă SPF sau DKIM nu se potrivesc și unde îți trimite rapoarte.

Fără ele, mulți furnizori tratează mesajele cu rezervă. Pentru unele categorii de trimiteri în volum mare, marii furnizori de email au anunțat cerințe explicite de autentificare, iar regulile se pot schimba în timp, așa că merită să consulți periodic documentația lor. Pașii de configurare sunt detaliați în ghidul SPF, DKIM și DMARC explicat pas cu pas.

4. Hostingul limitează sau blochează trimiterea

Multe companii de hosting restricționează trimiterea de emailuri din PHP, pentru a preveni abuzul pe serverele partajate. Restricțiile pot fi de mai multe feluri: o limită de mesaje pe oră, blocarea completă a anumitor porturi, dezactivarea funcției de trimitere în anumite planuri sau punerea mesajelor într-o coadă care se golește lent. Limitele concrete diferă de la un hosting la altul, așa că ele trebuie căutate în documentația furnizorului tău sau confirmate cu suportul.

5. Reputația IP-ului este slabă

Pe un server partajat, același IP este folosit de zeci sau sute de site-uri. Dacă unul dintre ele trimite spam, tot IP-ul poate ajunge pe liste de blocare, iar mesajele tale suferă fără să fi greșit tu nimic. Poți verifica dacă IP-ul serverului apare pe liste publice de blocare folosind servicii de tip „blacklist check", disponibile gratuit online.

6. Conținutul mesajului arată suspect

Chiar și cu autentificarea corectă, anumite tipare cresc șansele de a ajunge în spam:

  • subiecte scrise cu majuscule sau cu multe semne de exclamare;
  • mesaje formate doar dintr-o imagine, fără text;
  • linkuri scurtate sau către domenii necunoscute;
  • raport nepotrivit între text și linkuri;
  • atașamente neașteptate.

Emailurile tranzacționale (confirmări de comandă, resetări de parolă) sunt de regulă simple și scurte, ceea ce le ajută, dar personalizările făcute în plugin-uri pot introduce uneori elemente problematice.

7. Un plugin sau o temă intră în conflict

Alte plugin-uri pot modifica adresa expeditorului, pot suprascrie antetele sau pot opri complet trimiterea. Un plugin de securitate, de cache sau unul de „mod mentenanță" poate afecta, în cazuri rare, comportamentul funcției de trimitere. Dacă problema a apărut după o actualizare sau după instalarea unui plugin nou, acesta este un suspect firesc.

8. Eroarea este în destinatar, nu în site

Uneori problema este la celălalt capăt: căsuța este plină, adresa are o greșeală de scriere, domeniul destinatarului are filtre stricte sau serverul lor respinge temporar mesajele („greylisting", o tehnică prin care un server cere ca expeditorul să reîncerce după câteva minute). De aceea este util să testezi cu mai multe adrese, la furnizori diferiți.

Plan de diagnostic în 8 pași

Ordinea contează: începe cu verificările rapide și ieftine.

  1. Reproduce problema. Trimite un mesaj de test către cel puțin trei adrese: una Gmail, una Outlook/Hotmail și una de pe un domeniu propriu. Notează care primesc și care nu.
  2. Caută în spam și în folderele secundare. Folosește căutarea după subiect.
  3. Verifică adresa expeditorului. Vezi ce adresă apare în câmpul „De la" și dacă domeniul ei este domeniul site-ului tău.
  4. Citește antetele mesajului. În Gmail: deschide mesajul, apoi „Afișează originalul". Caută rezultatele SPF, DKIM și DMARC; fiecare ar trebui să arate PASS. Dacă vezi FAIL, SOFTFAIL sau NONE, ai găsit direcția.
  5. Verifică înregistrările DNS. Consultă înregistrările TXT ale domeniului și verifică dacă există SPF, DKIM și DMARC.
  6. Dezactivează temporar, pe un mediu de test, plugin-urile suspecte. Dacă mesajele încep să plece, reactivează-le pe rând.
  7. Întreabă hostingul. Cere informații despre limitele de trimitere, porturile permise și eventualele blocări pe IP.
  8. Treci la un serviciu dedicat de trimitere prin SMTP. Dacă toate cele de mai sus sunt în regulă sau nu poți controla serverul, trimiterea printr-un serviciu specializat elimină o mare parte dintre variabile.

Cum citești un antet de email, pe înțelesul tuturor

Antetele par un șir de text fără sens, dar câteva rânduri sunt suficiente pentru un diagnostic de bază. Caută aceste elemente:

  • Authentication-Results: arată verdictul serverului primitor pentru SPF, DKIM și DMARC.
  • Received: arată traseul mesajului, de la server la server. Primul de jos în sus este cel din care a plecat.
  • Return-Path și From: adresa tehnică de întoarcere și cea afișată. Dacă domeniile diferă mult, verificările de aliniere pot eșua.
  • Message-ID: identificatorul unic, util dacă vrei să urmărești mesajul în jurnalele serverului.

Un exemplu fictiv, marcat clar ca ilustrație:

Authentication-Results: mx.exemplu-primitor.ro;
  spf=pass smtp.mailfrom=exemplu.ro;
  dkim=pass header.d=exemplu.ro;
  dmarc=pass header.from=exemplu.ro

Aici toate cele trei verificări au trecut. Dacă în locul lui pass ai vedea fail pe SPF, ai ști că serverul care a trimis nu este listat în înregistrarea SPF a domeniului.

Semne că problema este de infrastructură, nu de conținut

Câteva indicii te ajută să separi cauzele:

  • Toate mesajele eșuează, la toți destinatarii: probabil trimiterea este blocată din server sau plugin-ul nu apelează corect funcția de trimitere.
  • Doar unele adrese nu primesc: de obicei ține de destinatar, de reputație sau de filtre.
  • Mesajele ajung în spam, nu lipsesc: de regulă ține de autentificare, reputație sau conținut.
  • Problema a apărut brusc, fără modificări: verifică dacă IP-ul a ajuns pe o listă de blocare sau dacă hostingul a schimbat reguli.
  • Problema apare doar la anumite tipuri de mesaje: poate fi un șablon cu conținut problematic sau o adresă de expeditor configurată diferit.

De ce ai nevoie de un jurnal al emailurilor

Fără evidență, depanarea se reduce la ghicit. Un jurnal al emailurilor oferă răspunsul la întrebările de bază: ce mesaj a plecat, către cine, la ce oră, cu ce rezultat și, dacă a eșuat, ce eroare a returnat serverul. Poți afla astfel dacă problema este la tine (serverul nu a acceptat mesajul) sau mai departe (serverul a acceptat, dar destinatarul l-a filtrat).

Un jurnal bun conține:

  • data și ora trimiterii;
  • adresa destinatarului și subiectul;
  • starea (trimis, eșuat, reîncercat);
  • mesajul de eroare returnat de server;
  • opțional, conținutul mesajului, cu atenție la datele personale.

Atenție la GDPR: jurnalul poate conține adrese de email și date personale din mesaje. Stabilește cât timp păstrezi aceste informații și cine are acces la ele. Aceasta nu este consultanță juridică; pentru situații concrete, discută cu persoana responsabilă de protecția datelor din organizația ta.

Greșeli frecvente

  • Testezi o singură dată, la o singură adresă. Un test reușit la o adresă proprie nu spune nimic despre Gmail sau Outlook.
  • Folosești o adresă gratuită ca expeditor. Dacă pui contul-tau@gmail.com ca „De la", dar mesajul pleacă de pe serverul tău de hosting, autentificarea nu se potrivește și riști respingerea.
  • Ignori mesajele de eroare. Textul unei erori SMTP (de exemplu, o respingere pentru „relay denied" sau pentru politica domeniului) spune destul de clar ce nu merge. Citește-l în loc să încerci modificări la întâmplare.
  • Schimbi mai multe lucruri simultan. Dacă modifici DNS-ul, plugin-ul și șablonul în același timp, nu mai știi ce a funcționat.
  • Uiți de propagarea DNS. Modificările de DNS pot dura de la câteva minute la câteva ore ca să fie vizibile peste tot. Testează după ce înregistrarea a devenit vizibilă.
  • Folosești aceeași adresă pentru emailuri de marketing și tranzacționale. Dacă reputația se strică pe campanii, suferă și confirmările de comandă.
  • Nu monitorizezi după rezolvare. O problemă rezolvată azi poate reapărea după o schimbare de hosting sau după expirarea unei chei.

Întrebări frecvente

De ce funcționează uneori și alteori nu?

Cel mai des, pentru că rezultatul depinde de destinatar. Un furnizor poate accepta mesajul, altul îl poate trimite în spam, iar un al treilea îl poate respinge temporar. Reputația IP-ului se poate schimba de la o zi la alta, mai ales pe servere partajate.

Este suficient să instalez un plugin și problema dispare?

Nu neapărat. Un mecanism de trimitere corect configurat ajută, dar autentificarea domeniului (SPF, DKIM, DMARC), reputația și conținutul rămân importante. Nicio configurație nu poate promite că fiecare mesaj ajunge în inbox, pentru că decizia finală aparține serverului primitor.

Cum aflu dacă hostingul meu blochează trimiterea?

Întreabă suportul direct: ce limite de trimitere se aplică, dacă porturile SMTP externe sunt permise și dacă IP-ul tău apare pe liste de blocare. Verifică și documentația furnizorului, deoarece regulile se pot schimba.

Cât de repede ar trebui să primesc un email de confirmare?

În mod obișnuit, în câteva secunde sau minute. Dacă întârzie mult, cauza poate fi o coadă la server, o respingere temporară cu reîncercare sau un filtru agresiv la destinatar. Jurnalul emailurilor te ajută să vezi unde se oprește mesajul.

Concluzie

Un email care nu ajunge nu este o problemă misterioasă, ci un lanț cu mai multe verigi: site, server, autentificare, reputație, filtre. Dacă le verifici pe rând, începând de la spam și antete și terminând cu DNS și limitele hostingului, găsești de obicei veriga slabă într-o oră sau două. Cheia este să ai date: teste la mai multe adrese, rezultatele din antete și un jurnal al trimiterilor.

Cum te ajută Leono Emailer / SMTP

Leono Emailer / SMTP este conceput să trimită emailurile site-ului prin SMTP, să țină un jurnal cu starea fiecărui mesaj și să te ghideze în verificarea SPF, DKIM și DMARC. Detalii despre aceste funcții găsești pe paginile verificare livrabilitate emailuri și jurnal emailuri. Produsul ajută la diagnostic și la o configurare corectă, dar nu poate garanta livrarea în inbox, care depinde și de destinatar.

#email#wordpress#livrabilitate#diagnostic#spam

Pune ideile în practică

Leono Emailer / SMTP: Trimite emailurile din WordPress printr-un furnizor SMTP și vezi ce s-a trimis, ce a eșuat și de ce.

Citește și