WordPress email küldés beállítása: Mi az a php_mail(), SMTP és hogyan állítsd be?

WordPress email küldés beállítása: Mi az a php_mail(), SMTP és hogyan állítsd be?

WordPress email küldés beállítása: Mi az a php_mail(), SMTP és hogyan állítsd be? 900 379 Rottenbacher Tamás
Egy weboldal alapfeltétele, hogy tudjon elektronikus levelet, e-mailt küldeni. Regisztráció értesítő, kapcsolatfelvételi űrlap és még lehetne sorolni. Az internet őskorában elegendő volt, ha a szervereken alapbeállításként használt php_mail()-t használtuk. Azóta azonban sok minden megváltozott. A hagyományos, php_mail() levélküldés ma már nem nyújt megfelelő biztonságot, sőt veszélyt hordoz magába. Minden ügyfelemnek tanácsolom, hogy SMTP-vel, biztonságosan küldjék a honlapok a leveleiket.

Miért fontos az helyes email küldés beállítása?

Mind egy céges honlap, mind webáruház esetén fontos, hogy az ügyfelek által küldött üzenetek a tulajdonosnak, illetve a webshop értesítései megérkezzenek a bolt kezelőjének és vásárlónak egyaránt. Nagyon sok esetben nincs megfelelően beállítva a levelezés, aminek az eredménye az, hogy sokszor vagy a spam-be kerül az email, vagy akár visszadobja a címzett levelezőszervere. Gondoljunk bele, ha a regisztráció megerősítő, jelszócsere kérő vagy a rendelés tájékoztató, állapotváltozást jelző email-ek nem érkeznek meg, akkor minket mennyire zavarna. A látogatóinkat, vásárlóinkat is annyira fogja, szóval érdemes komolyan venni és megfelelően beállítani a WordPress email, levélküldés módját.

Különösen ajánlott a levelezés pontos beállítása, mivel így csökkenthetőek az email-es csalások is és javulhat a felhasználói élmény, a konverzióval együtt.

Mi az a php_mail()?

A php_mail() avagy másként mail() funkció már a PHP nyelv korai verzióiban is szerepelt. Lényege annyi, hogy a PHP környezet képes legyen elektronikus levél, e-mail küldésére. Egy elég kezdetleges forma, ma már egyáltalán nem ajánlott a használata, sok hostingon alapértelmezetten kikapcsolt, tiltott.

Mi a gond vele, miért veszélyes?

A php_mail() esetében nincs azonosítás, bármely php alkalmazás, kód képes kiküldeni elektronikus leveleket. Akár támadó fél is így spammelhet a mi szerverünkről, tárhelyünkről!

Amennyiben a php_mail() engedélyezve van és olyan jellegű támadás éri a honlapunkat, hogy a támadók feltudnak PHP fájlt tölteni vagy saját kódjukat lefuttatni a támadók, úgy elkezdhetnek kéretlen reklámüzeneteket, spam-eket küldeni. Ez azért veszélyes, mert egyfelől a domain nevünk, ip címünk felkerülhet a nemzetközi spam szűrő listákra. Ha ez megtörténik, akkor könnyen előfordulhat, hogy a saját küldött leveleink a célszemély spam mappájába köt ki és így minimális az esélye, hogy megkapja, elolvassa.

Ezeken felül sok levelezőrendszer figyeli milyen módon, milyen azonosítással kerülnek kiküldésre az e-mailek és amiket php_mail() függvénnyel küldenek ki, azokat automatikusan spam kategóriába teszi és nem jut el a címzetthez.

Ha árajánlatunk, értesítőnk, hírlevelünk vagy fontos üzenetünk nem jut el a potenciális ügyfelünkhöz, akkor eleve vesztettünk, bármilyen jó is termékünk, szolgáltatásunk.

Mi a php_mail() előnye?

Az egyetlen előnye az, hogy nincs szükség a honlapunkon semmi beállítására, módosítására. A php_mail()-t szinte minden PHP alapú CMS (így a WordPress is) tudja alapként használni. Igaz, inkább azt mondanám, hogy opcionális jelleggel, amúgy már elhagyták volna legszívesebben.

jobb ha kerulod php mail kiemelt kep svg 2

Mi az a SMTP email küldés?

Az SMTP (avagy angol nevén nevezve Simple Mail Transfer Protocol) tömören azt jelenti, hogy meghatározott, (immáron biztonságos csatornán) egy levelezőszerverhez csatlakozunk és azzal küldjük ki az e-mail üzenetet azonosítást követően.

Miért jobb az SMTP?

Az SMTP-nél minden (normális tárhelyszolgáltató) esetében van lehetőség SSL/TLS titkostás használatára, továbbá van hitelesítés, tehát név és jelszó segítségével kerül azonosításra a kiküldő, hogy ki (vagy mi) akarja kiküldeni. A  hitelesítéshez szükséges adatokkal pedig korlátozhatjuk, hogy idegen kód (támadás esetén) ne tudjon leveleket kiküldeni, spammelni.

Röviden összefoglalva:

  • Sokkal biztonságosabb, köszönhetően a többféle azonosítási lehetőségnek. (Főleg ha a megfelelő SSL/TLS verzió és port van beállítva.)
  • Használhatunk külsős e-mail küldő szolgáltatást, szervert. Így az olcsóbb tárhelyeken érvényben lévő napi kiküldhető e-mail korlátozások elkerülhetőek.
  • SPAM biztosabb, kisebb eséllyel kerül a kiküldött e-mail a spam mappába.
  • Stabilabb, megbízhatóbb a kiküldés, jobb a megnyitási arány.
  • Tárhelyszolgáltatók is jobban preferálják, sok helyen már csak ez érhető el, a PHP_Mail() már nem.

SMTP hátrányai

Egyetlen egy hátrányt tudok csak mondani. Az pedig az, hogy be kell állítani. Ez azonban elég egyszerű, ahogy a folytatásban megismerhetjük. A beállításhoz szükséges adatokat a tárhelyszolgáltatónk felületéről tudjuk majd kiolvasni vagy tőlük kérdezhetjük meg.

WordPress honlap SMTP e-mail küldés

Ahogy fentebb megismerhettük, jobb ha WordPress weboldalunk SMTP-n keresztül küldi az e-mail üzeneteket. Például WooCommerce webáruház esetén a rendelés visszaigazolást, a kapcsolat űrlap üzenetét magunknak, ha pedig mérsékelten hírlevelezünk, akkor azt, csak néhány fontosabbat említve.

SMTP levélküldéshez szükséges adatok

  • SMTP szerver/host címe: Ez lehet localhost, mail.domaincimed.hu, smtp.domaincimed.hu, smtp.tarhelyszolgaltocime.hu, hogy a gyakoribbakat mondjam, persze lehet ez simán IP cím is csak.
  • Auth / autentikáció: Ez az a beállítás, hogy van-e a szerverre belépési adat, ez mindig legyen igen vagy bepipálva.
  • Port száma: Ez szükséges, a megfelelő titkosításhoz (SSL/TLS, mindkettő eltérő porton van általában).
  • Felhasználónév: Általában ez maga az email cím, aminek a fiókjával küldjük.
  • Jelszó: Az emailfiókhoz tartozó jelszó.

WordPress honlap SMTP e-mail küldés

Ahogy fentebb megismerhettük, jobb ha WordPress weboldalunk SMTP-n keresztül küldi az e-mail üzeneteket. Például WooCommerce webáruház esetén a rendelés visszaigazolást, a kapcsolat űrlap üzenetét magunknak, ha pedig mérsékelten hírlevelezünk, akkor azt, csak néhány fontosabbat említve.

SMTP beállítása saját kóddal

Az alábbi kódot tegyük a sablonunk functions.php fájljának a végére, természetesen a megfelelő hozzáférési adatok megadásával. Reméljük Ottó nem bánja, hogy kölcsönvesszük! Akik számára a kódok beillesztése nem opció vagy a kódban lévő adatok megadása nem jár sikerrel, azok számára a folyatásban WordPress bővítményeket is írok, amikkel még egyszerűbb lesz.

SMTP beállítása bővítménnyel

Természetesen WordPress-ről lévén szó, így van több bővítmény is, amikkel beállíthatjuk az SMTP-s e-mail küldést. Azonban továbbra is személy szerint az előző, kód megoldást szívesebben ajánlom.

A bővítmények segítségével könnyen megadhatunk plusz adatokat is. (Kóddal is, csak némi utánajárást igényel aki szeretné.) Ilyen adat például, hogy milyen név jelenjen meg a levelezőkliensekben mint küldő neve (általában From name mező), mi legyen a válasz cím (from Email általában, ha levelezőben rányom a „Válasz küldése” gombra, akkor az mehet eltérő címre is akár).

A domain, DNS rekordok beállítása

A fenti beállítások (vagy is az SMTP-s küldés) segít, hogy elektronikus levelünk elinduljon és el legyen küldve. A domain DNS rekordjainak megfelelő beállítása pedig azt segíti elő, hogy a kiküldött e-mail meg is érkezzen és ne kerüljön spam kategóriába. A lenti két domain rekord azt a célt szolgálja, hogy a fogadó fél, könnyebben azonosítsa, hogy valóban a feladó küldte az e-mailt és nem más, így elég fontos és alap, hogy megfelelően be legyenek állítva.

Ehhez az alábbi DNS rekordokat kell beállítani:

  • DKIM
  • SPF
  • DMARC
Hogyan tudod beállítani? Sajnos sokféle tárhelykezelő jöhet szóba és minden szerveren eltérő értéket meg kell adni, így ebben az esetben forduljunk a domain regisztrátorhoz vagy a tárhelyszolgáltatónkhoz, hogy segítsen és állítsa be a fenti két rekordot vagy ellenőrizze, hogy megfelelők-e.

Tanácsok SPAM-be kerülés ellen

Néhány rövid és egyszerű tanácsot szeretnék adni, hogy miként csökkentsük az esélyét a lehetséges SPAM jelölésnek email-jeinken.

  • Állítsunk be SMTP-t, titkosítással küldjünk
  • Domain legyen megfelelően beállítva
  • Amennyiben használunk külső email szolgáltatást (például hírlevélhez) az is megfelelően legyen beállítva
  • Kerüljük, hogy túl sok link legyen a levélben
  • Csökkentsük a képi elemeket, amennyire lehet és inkább CSS-el formázzuk, díszítsük az email-eket (ott CSS animációt felejtsük el)
  • Ne használjunk a levelezésben CSS3-as és HTML5-ös elemeket (sok a régi levelező kliens és szerver) és törekedjünk a két nyelv szabályainak betartására (továbbá ne akarjunk külső CSS-t meghívni, minden formázási kód inline legyen)
  • Hírlevélnél legyen leiratkozási link, egyértelműen (például nem kisbetűvel, halvány színnel, valami frappáns szöveggel)
  • Ne használjunk levelekben (még egy jó ideig) webp formátumú képet, illetve ha lehet png helyett is jpg/jpeg-et használjunk és minél kevesebbet

A levelek spam szintjén tesztelhetjük egyszerűen például a https://www.mail-tester.com/ szolgáltatásával, pár perc alatt. 8/10 érték felett már jónak számít.

Gmail SMTP mint honlap email küldő

Egy fontos tippet még a végére adnék. Ne akarjuk weboldalaink kimenő levelezését Gmail fiókunkkal végezni. Nem túl célravezető és több lesz vele a problémánk, mint sejtenénk. Használjunk inkább MailGun-t, Amazon SES-t, hogy csak kettő nagyobb nevet említsek. Egyfelől már csak és kizárólag Google API-val lehet bekötni (ami nem egy kezdő szint ismeretet igényel, másfelől ingyenes Gmail fiókban ez nem engedélyezett és egy bizonyos napi email mennyiség után megnézhetik a levelezést. Maximum üzleti Gmail fiókot kössünk be.

Rottenbacher Tamás

2006 óta foglalkozok weboldal készítéssel és 2007 óta keresőoptimalizációval. WordPress honlapokat 2008 óta készítek. Ha kérdezne írjon hozzászólást vagy email-t a "Kapcsolat" menüpontban.

Közösségi profiljaim:

Honlapunk cookie fájlokat használ, hogy jobb böngészési élményt biztosíthasson és forgalom mérést végezzen.