Sari la conținut

SMTP sau wp_mail: ce diferență este și de ce contează

WordPress trimite emailuri printr-o funcție simplă, wp_mail. Află cum lucrează ea, ce schimbă SMTP și când merită să treci la o trimitere autentificată.

L Echipa Leono 10 min citire

Dacă ai instalat vreodată WordPress, ai primit un email de la site fără să configurezi nimic: confirmarea contului, linkul de resetare a parolei, notificarea unei comenzi. Pare magie, dar în spate lucrează o funcție simplă, numită wp_mail(). Întrebarea „SMTP sau wp_mail?" apare, de obicei, când mesajele încep să se piardă și cineva îți recomandă să „pui SMTP". Ce înseamnă asta, de fapt, și de ce ar schimba ceva?

Răspunsul scurt: wp_mail() este funcția pe care o apelează WordPress pentru a cere trimiterea unui mesaj, iar SMTP este metoda de transport prin care mesajul ajunge de la site la serverele de email. Cele două nu sunt alternative una față de alta, ci se completează. Diferența reală este între trimiterea implicită, bazată pe serverul de hosting, și trimiterea prin SMTP, cu autentificare, către un serviciu de email.

Ce este wp_mail()

wp_mail() este funcția din nucleul WordPress prin care toate componentele (nucleul, temele, plugin-urile) trimit mesaje. Ea primește elemente simple: destinatarul, subiectul, corpul mesajului, antetele opționale și atașamentele. Dacă un plugin de formulare sau un magazin online trimite un email, aproape întotdeauna folosește această funcție.

Avantajul este uniformitatea: pentru că toate mesajele trec printr-un singur punct, poți schimba modul de trimitere într-un loc și efectul se vede peste tot. Funcția oferă și „cârlige" (hooks) prin care alte plugin-uri pot modifica adresa expeditorului, antetele sau chiar mecanismul de trimitere.

Cum trimite WordPress implicit

Fără nicio configurare, pașii sunt aceștia:

  1. WordPress apelează wp_mail().
  2. Funcția folosește biblioteca PHPMailer, inclusă în nucleu.
  3. PHPMailer este setat să folosească funcția mail() din PHP.
  4. Funcția mail() predă mesajul programului de email local al serverului (de obicei sendmail sau un echivalent).
  5. Serverul încearcă să livreze mesajul direct către serverul destinatarului.

Aceasta este trimiterea implicită. Nu există autentificare cu parolă la un serviciu de email, iar mesajul pleacă de pe IP-ul serverului de hosting, care este de multe ori partajat cu alte site-uri.

Limitele trimiterii implicite

  • Fără autentificare explicită. Serverul destinatarului vede un mesaj care pretinde că vine de la exemplu.ro, dar care a fost predat de un server anonim. Dacă SPF, DKIM și DMARC nu sunt aliniate cu acel server, mesajul devine suspect.
  • IP partajat. Reputația IP-ului depinde de comportamentul tuturor celor care îl folosesc.
  • Fără feedback. Funcția mail() returnează „adevărat" dacă mesajul a fost predat programului local, nu dacă a fost livrat. Erorile ulterioare nu ajung la WordPress.
  • Restricții de hosting. Unii furnizori limitează sau dezactivează funcția mail(). Limitele variază, deci verifică în documentația hostingului tău.
  • Control redus. Nu poți alege liber un serviciu specializat, nu poți vedea starea livrării și nu poți defini un serviciu de rezervă.

Aceste limite explică de ce, la multe site-uri, emailurile ajung în spam sau lipsesc. Cauzele posibile sunt prezentate în detaliu în articolul de ce nu ajung emailurile din WordPress.

Ce este SMTP

SMTP (Simple Mail Transfer Protocol) este protocolul standard prin care serverele își trimit email între ele. Când spui „trimit prin SMTP", spui că site-ul se conectează la un server de email cu un utilizator și o parolă (sau cu o cheie API), își dovedește identitatea și îi predă acolo mesajul. Serverul de email se ocupă apoi de livrarea către destinatar.

Pentru a-l folosi ai nevoie de patru elemente:

  • Gazda serverului (host): de exemplu o adresă furnizată de serviciul de email.
  • Portul: numărul canalului prin care te conectezi.
  • Metoda de criptare: TLS sau SSL.
  • Datele de autentificare: utilizator și parolă ori cheie API.

Porturile uzuale

Port Folosire obișnuită
587 Trimitere de la aplicații către serverul de email, cu criptare începută prin STARTTLS. Este alegerea standard în majoritatea cazurilor.
465 Trimitere cu criptare SSL/TLS de la început. Acceptat de mulți furnizori.
25 Port istoric pentru transfer între servere; adesea blocat de furnizorii de hosting pentru conexiuni de la aplicații.

Portul și metoda corectă sunt indicate în documentația furnizorului. Dacă o conexiune pare blocată, întreabă hostingul dacă permite conexiuni de ieșire pe portul respectiv.

Ce se schimbă când treci la SMTP

Când configurezi SMTP, wp_mail() rămâne funcția pe care o apelează toate plugin-urile, dar în loc să predea mesajul programului local, PHPMailer se conectează la serverul SMTP ales. Concret:

  1. WordPress apelează wp_mail(), ca și până acum.
  2. PHPMailer deschide o conexiune criptată către serverul SMTP.
  3. Se autentifică cu datele tale.
  4. Predă mesajul și primește de la server un răspuns clar: acceptat sau respins, cu cod de eroare.
  5. Serverul de email livrează mesajul către destinatar de pe infrastructura lui.

Avantajele practice

  • Identitate verificabilă. Mesajul pleacă de la un server care știe cine ești și, de regulă, semnează cu DKIM pentru domeniul tău.
  • Răspuns clar la predare. Dacă datele sunt greșite sau serverul respinge mesajul, primești o eroare concretă, nu o tăcere.
  • Reputație administrată de specialiști. Un serviciu dedicat de trimitere își gestionează IP-urile și monitorizează abuzurile, ceea ce poate reduce riscul de a fi afectat de vecini nepotriviți.
  • Posibilitatea de a alege. Poți folosi un serviciu pe care îl ai deja (de exemplu, contul firmei) sau unul dedicat trimiterilor în volum.
  • Evidență. Multe servicii oferă panouri cu starea mesajelor și motivele respingerilor.

Ce NU schimbă SMTP

SMTP nu înlocuiește autentificarea domeniului. SPF, DKIM și DMARC rămân necesare, iar ghidul din SPF, DKIM și DMARC explicat pas cu pas rămâne valabil. De asemenea, nu garantează ajungerea în inbox și nu repară un conținut problematic sau o listă de destinatari de calitate slabă.

Metode de autentificare la un serviciu SMTP

Nu toate serviciile folosesc aceeași metodă de autentificare:

  • Utilizator și parolă obișnuite. Simplu, dar la unele servicii parola contului principal nu mai este acceptată pentru aplicații.
  • Parolă de aplicație. O parolă generată special pentru o aplicație, separată de parola contului, care poate fi revocată individual. Mulți furnizori mari o cer dacă ai activată autentificarea în doi pași.
  • Cheie API. Un șir lung generat în panoul serviciului, cu drepturi limitate la trimitere. Este în general mai sigură, pentru că poate fi schimbată fără a atinge contul.
  • OAuth. Autorizare prin conectare la contul furnizorului, fără stocarea parolei; disponibilă la unii furnizori.

Păstrează secretele în afara conținutului paginilor și în afara depozitelor de cod. Dacă ai bănuieli că o cheie a fost expusă, revocă-o și generează alta.

Când merită să rămâi la trimiterea implicită

Nu fiecare site are nevoie de configurări complicate. Trimiterea implicită poate fi suficientă dacă:

  • site-ul trimite foarte puține mesaje, iar pierderea unuia nu are consecințe serioase;
  • hostingul îți oferă o configurare corectă a autentificării pentru domeniu;
  • poți verifica manual că mesajele ajung.

Chiar și așa, merită să faci teste periodice, pentru că situația se poate schimba fără ca tu să afli.

Când merită să treci la SMTP

Treci la SMTP dacă:

  • mesajele importante (comenzi, parole, facturi) ajung în spam sau dispar;
  • vrei să știi dacă un email a fost acceptat sau respins;
  • hostingul limitează funcția mail() sau o dezactivează;
  • ai un magazin online, un site cu abonamente sau cu formulare care aduc cereri de la clienți;
  • vrei să folosești adresa de email a firmei ca expeditor, cu autentificare corectă;
  • ai nevoie de un serviciu de rezervă dacă primul nu răspunde.

Pentru a alege serviciul potrivit, vezi criteriile din cum alegi un serviciu de trimitere emailuri.

Pași pentru trecerea la SMTP

  1. Alege serviciul. Poate fi emailul firmei, un serviciu dedicat de trimitere sau serverul propriu.
  2. Notează datele de conexiune: gazdă, port, metodă de criptare, utilizator și parolă sau cheie.
  3. Configurează domeniul: adaugă înregistrările SPF și DKIM indicate de serviciu și publică DMARC.
  4. Setează expeditorul: folosește o adresă de pe domeniul tău, nu o adresă gratuită de la un furnizor extern.
  5. Aplică setările în WordPress: printr-un plugin sau printr-o configurare potrivită.
  6. Trimite un email de test către mai multe adrese și verifică antetele.
  7. Testează fluxurile reale: o comandă, o înregistrare, o resetare de parolă.
  8. Activează jurnalul și urmărește primele zile.

Greșeli frecvente

  • Credința că SMTP rezolvă totul. Fără SPF, DKIM și DMARC, mesajele pot ajunge tot în spam.
  • Expeditor de pe alt domeniu. Dacă folosești adresa@gmail.com ca expeditor printr-un server SMTP care nu este al Gmail, nu se potrivește autentificarea.
  • Port sau criptare greșite. Combinația port 465 cu STARTTLS, de exemplu, nu funcționează la majoritatea furnizorilor.
  • Parola contului principal în loc de parolă de aplicație sau cheie API.
  • Date de acces stocate în locuri nesigure, de exemplu în fișiere publice sau în capturi de ecran trimise pe chat.
  • Mai multe plugin-uri care încearcă să controleze trimiterea. Se suprascriu între ele și produc comportamente neașteptate.
  • Nicio verificare după configurare. Testul de la început nu garantează că totul merge și mâine.

Întrebări frecvente

Dacă folosesc SMTP, mai folosește WordPress funcția wp_mail?

Da. Toate plugin-urile continuă să apeleze wp_mail(). Diferența este că, în spatele ei, mesajul este transmis serverului SMTP ales, nu programului local al hostingului.

Este SMTP mai sigur decât trimiterea implicită?

Oferă, în general, o conexiune criptată și o identitate verificabilă, ceea ce îl face mai fiabil. Securitatea reală depinde însă de felul în care păstrezi datele de acces și de configurarea autentificării domeniului.

Pot folosi contul meu personal de Gmail pentru site?

Tehnic, există această posibilitate, dar nu este recomandată pentru uz profesional: conturile personale au reguli și restricții de trimitere pe care le stabilește furnizorul. Verifică limitele din documentația furnizorului și, pentru site-uri de afaceri, preferă un cont de organizație sau un serviciu dedicat.

Cum știu dacă trimiterea mea folosește SMTP?

Trimite un mesaj de test și deschide antetele originale. Rândurile Received arată prin ce servere a trecut mesajul. Dacă apare serverul furnizorului tău SMTP, configurarea este activă. Un jurnal de emailuri te ajută să vezi același lucru fără să citești antete.

Concluzie

wp_mail() este funcția, SMTP este drumul. Trimiterea implicită este simplă și poate funcționa pentru situații minore, dar nu oferă autentificare, vizibilitate sau control. Trecerea la SMTP înseamnă o legătură clară cu un serviciu de email, răspunsuri concrete la fiecare predare și baza necesară pentru a construi o trimitere de încredere. Efortul este mic față de problemele pe care le poate preveni, atâta timp cât faci și restul pașilor: autentificare DNS, expeditor corect și teste regulate.

Cum te ajută Leono Emailer / SMTP

Leono Emailer / SMTP este conceput să mute trimiterea emailurilor site-ului pe SMTP, cu furnizori precum Gmail/Google Workspace, Microsoft 365, Amazon SES, SendGrid, Mailgun sau un server propriu, plus un email de test și un jurnal al trimiterilor. Pagina configurare SMTP descrie pașii, iar jurnalul de emailuri arată starea fiecărui mesaj. Există și variantă gratuită de bază.

#smtp#wp_mail#phpmailer#porturi#trimitere-email

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