Hogyan küldjünk MEGBÍZHATÓ levelet WordPressből és más, tetszőleges tartalomkezelőből? [FRISSÍTVE]
Minden lehetséges csatornán spam-ek ömlenek az inboxokba, így manapság megbízható levelet (már olyat, amit nem szortíroz a Google rögtön a Levélszemét mappába) küldeni nem egyszerű, de több módszer is van rá. Én egy viszonylag költséghatékony és tárhelyszolgáltatótól független megoldást mutatok most.
Kezdjük az eredménytől: ha pontosan követed az itteni utasításokat, egy olyan WordPress-t (vagy egyéb tartalomkezelőt) kapsz a végére, ami bármilyen (rendelés értesítő, hírlevél, stb.) leveledet megbízhatóan kézbesíteni tudja, [email protected] formában - egy külső szolgáltatón keresztül - bármilyen felhasználó e-mail címére. Ennek a megoldásnak előnye még, hogy nem vagy a tárhelyszolgáltatóhoz kötve: ha valami gond lenne, csak átköltözteted a weboldalad egy másik szolgáltatóhoz, a levelek küldése ugyanúgy, bármilyen további beavatkozás nélkül ugyanúgy üzemelni fog.
A felépítés a következő lesz:
WP --> Mailgun --> Címzett, kevésbé vizuális típusoknak:
Azért fogunk egy külső szolgáltatót igénybe venni, mert:
- megszabadulunk a szerverünk megfelelő beállításának terhétől,
- nem nekünk kell nyomon követnünk azt, hogy a küldő IP-címünk vajon felkerült-e bármelyik feketelistára (ellenőrizni itt tudod)
- nem leszünk szolgáltatóhoz, vagy kiegészítő szolgáltatáshoz (pl. SMTP, kvótaemelés, stb.) sem kötve
- követni tudjuk az összes általunk küldött levél - és nemcsak a hírleveleink - megnyitási, átkattintási eseményeit
Miért a Mailgun?
2020. januárjában változott az árazás: az első 625 levél ingyenes havonta, onnantól kezdve 0.8 dollár 1000 levelenként (vagyis az eddigi 10.000 levél nagyjából 7.5 dollárba kerülne), vagyis ez még mindig elég kedvező árat jelent.
Első lépésként regisztráljunk egy fiókot magunknak, ha ez megvan, jelentkezzünk be és adjuk hozzá az első domainünket.
Ezt követően több dolgot is be kell állítanunk, nézzük egyesével:
"Add DNS Records For Sending"
Ezzel igazoljuk, hogy:
- a domain a mienk és jogosultak vagyunk azt kezelni,
- az e-mail szolgáltatók felé is jelezzük, hogy a Mailgun jogosult a nevünkben e-mailt küldeni, nyugodtan megbízhatnak az érkező levelekben, azok tőlünk származnak (és nem mások küldik a nevünkben).
Az itt megadott értékeket fel kell vennünk DNS rekordként. Ezt a tárhelyünk admin felületén, vagy ha esetleg Cloudflare-t (vagy más, külső névszervert) használunk, akkor a Cloudflare DNS szerkesztő felületén tehetjük meg. Az első oszlop a rekord típusát határozza meg (ez jellemzően legördülő listából, vagy radio buttonokkal változtatható), a második a hosztnevet, a harmadik pedig maga az érték. Ctrl-C + Ctrl-V a történet akkor, ha ilyenek korábbról még nem szerepelnek. Ha igen, akkor célszerű felvenni a kapcsolatot azzal, aki ezeket beállíthatta (előző fejlesztő, esetleg a tárhelyszolgáltató).
"Add DNS Records For Tracking"
Ez a lépés nem kötelező akkor, ha nem szeretnénk, hogy a Mailgun kövesse a megnyitásokat, kattintásokat, leiratkozásokat. Ha szeretnénk, akkor állítsuk be, hasznos lehet.
Ha ezekkel megvagyunk, a Continue to Domain Overview gombra kattintva eljutunk a domain áttekintő nézethez, alul pedig az előző táblázat. Ha még nem zöldültek ki a piros felkiáltójelek és sárga háromszögek, próbáljunk megnyomni a "Check DNS Records Now" gombot. Ha minden jól ment és a DNS már megfelelően propagálódott, akkor a Domain information alatt a State Active lesz. Ha Cloudflare-t használunk, akkor viszonylag gyorsan átfutnak a változások, így szinte azonnal haladhatunk is tovább, más szolgáltatóknál viszont előfordulhat, hogy 24-48 órát várni kell, míg minden szerverre eljutnak a változások.
Tartalomkezelő (WordPress) beállítása levélküldéshez
Most be kell állítanunk az oldalunkat, hogy innentől kezdve a levelek küldésére a Mailgun szervereit használja. Használhatjátok a Mailgun plugint is, de ha nem a Mailgunt használjátok, akkor ajánlom a Postman plugint, amivel bármilyen SMTP szerver beállítható küldésre még akkor is tudtok magatoknak saját SMTP plugint készíteni.
Telepítést követően navigáljunk a választott (Beállításokon belül Mailgun vagy Postman SMTP) plugin beállításaihoz, és töltsük ki a Mailgun admin felületéről átmásolva a megfelelő adatokat.
Más tartalomkezelő esetén (Joomla, Craft CMS) az SMTP-beállítások között az adatokat a Mailgun adminjáról átmásolva simán átállítható a teljes rendszer, egyéb bővítmény telepítésére nincs szükség. Ha a Mailgun API-t szeretnéd használni Craft CMS esetén, használd a Mailgun for Craft CMS mailer adapter-t.
Ha ezzel is megvagy, végeztünk!
Levelek követése, naplózás
A Mailgun fiókon belül a Log fülön követhetőek a legutóbbi fejlemények időrendi sorrendben: megnyitás, kézbesítés, kattintást egyaránt. Ez elsődlegesen a fejlesztőknek lehet hasznos, de arra is használható, hogy ellenőrizzük, egy adott címzett megnyitotta-e a levelünket.
A Mailgun Reporting fülén meg lehet nézni, hogy mennyi levelet vett át a Mailgun küldésre, mennyit kézbesített, mennyinek a kézbesítését függesztette fel, és mennyit kellett eldobnia. Ez utóbbi szám nagyon fontos: 6% alatt kell tartani az arányát, különben felfüggesztik a levélküldési jogot!
Fontos!
Ha egy korábbi, vagy ismeretlen eredetű listát importálsz a hírlevélkezelőbe, importálás előtt mindenképpen futtass le egy tisztítást a listán. Erre elég sok fizetős oldal van, de egy-két ingyenes is létezik, ezek közül pedig talán a leghasználhatóbb itt érhető el. Ez sem ad 100%-os találati arányt, de több, mint a semmi.
A fenti képen erre láthatsz egy kiváló példát: feltételeztem, hogy a listán szereplő összes e-mail cím él és virul (végülis egy eddig aktívan használt listáról van szó!). Hát nem: úgy vágott le a Mailgun a küldés közben, hogy csak na! :D Egy ticket-nyitás után újra engedélyezték a küldést, és végig is ment, de látszik, hogy a lista ellenőrzése akkor is elengedhetetlen, ha az ügyfél korábban is küldött hírleveleket. A megoldást segíti, hogy a visszautasított címek lekérhetők és exportálhatók is, így egyszerűen, tömegesen is le lehet iratkoztatni őket a listáról.
Ha a fantáziadús Newsletter nevű plugint használod esetleg hírlevélküldésre, akkor a fizetős verzió megvásárlását követően elérhetővé válik több kiegészítő is hozzá, melyek közül az egyik a Mailgunhoz készült: minden nap egy megadott időpontban átveszi a Mailgun-tól az adott fiókhoz tartozó visszapattant címeket és azokat leiratkoztatja a listákról. Ezzel gyakorlatilag teljesen automatizálni lehet a listák öntisztulását, ami nagyon kényelmes. :)
Összegzés
Hű, hosszú cikk lett! Úgy gondolom, hogy ha valamiről ennyit kell írni, az nem feltétlenül az egyszerű dolgok közé tartozik, viszont a levélküldés egy olyan téma, aminek MŰKÖDNIE KELL, ezen - időt leginkább - nem nagyon lehet (vagy érdemes) spórolni. Azt javaslom tehát, hogy foglalkozz vele és szánj rá akár egy napot, hétvégét, hogy aztán később nyugodtan dőlhess hátra a küldés gombra kattintás után.
Rosszul írtam valamit, esetleg van még jobb megoldásod? Írd meg kommentben!
Frissítések
A Mailgun változtatott az árazásán: havi 10.000 e-mail helyett 625-öt adnak, a többi e-mail $0.8 / 1000 e-mail (vagyis kb. 7.5 dollár a 10.000 e-mail). Ezzel egyidőben ellenőriztem az Elasticemail árazását, ahol mintha eltűnt volna a havi 150.000 ingyen e-mail, helyette $0.09 / 1000 e-mail árat ajánlanak (vagyis itt a 10.000 e-mail 0.9 dollár).
Egy súlyos sebezhetőséget találtak az Easy WP SMTP plugin-ban, amivel többek között adminisztrátori szintű jogosultságot szerezhetett a támadó (vagy oszthatott ki minden regisztrált felhasználónak az oldalon). Egy újabb ok, hogy miért készítsük el a levelezés beállítására a saját "pluginunkat".
A #plugout sorozatba bekerült egy snippet, amivel kiváltható az SMTP plugin használata: Egyszerű SMTP plugin készítése WordPressben
A WordPress pluginok közül eltávolították a Postman SMTP plugint, mert XSS sebezhetőséget tartalmazott, melyet nem javított a fejlesztő. Részletek itt.