Modul 9 · 9.1
E-pošta iz WordPressa
Modul 9: E-pošta, najdljivost (SEO), GDPR, vzdrževanje in selitev · Čas branja: 9 minut
Učni cilj: Po tej lekciji boste lahko poskrbeli, da bo pošta iz WordPressa (obrazci, naročila, povezave za ponastavitev gesla) zanesljivo prispela na cilj.
Ključni pojmi: wp_mail, PHP mail(), pošiljatelj (From), Reply-To, SMTP, SMTP-vtičnik, avtenticiran poštni predal, transakcijska poštna storitev, SPF, DKIM, DMARC, uskladitev (alignment), MX drugje, testno sporočilo
WordPress pošlje več pošte, kot si mislite
Vaše spletno mesto pošlje e-pošto ob: izpolnjenem kontaktnem obrazcu, naročilu (stranki in Vam), novem uporabniku, pozabljenem geslu, novem komentarju, samodejni posodobitvi, kritični napaki (lekcija 5.4). Če ta pošta ne prispe, to pogosto opazite šele, ko pokliče stranka: »obrazec sem izpolnil že trikrat.«
Kako WordPress privzeto pošilja pošto
WordPress pošlje vse prek funkcije wp_mail. Privzeto ta pošto preda PHP funkciji mail(), ki jo nato posreduje poštnemu programu spletnega strežnika. To deluje, vendar ima tri šibke točke:
- Pošiljatelj. Brez nastavitve WordPress pošilja kot
wordpress@example.com. Če ta naslov ne obstaja ali je pošiljatelj drugačen od Vaše lastne domene, prejemniki pošti ne zaupajo. - SPF, DKIM in DMARC. Prejemni poštni strežniki preverijo, ali strežnik, ki dostavlja pošto, sme pošiljati v imenu Vaše domene (SPF), ali ima pošta veljaven digitalni podpis Vaše domene (DKIM) in kakšna je politika Vaše domene, če kaj od tega ne drži (DMARC). V tečaju DNS (lekciji 4.3 do 4.5) lahko preberete, kako to deluje. Pošta prek spletnega strežnika te preverbe prestane le, če so Vaš DNS in strežnik temu ustrezno nastavljeni.
- Pošta drugje. Če Vaša e-pošta ni pri Vašem ponudniku gostovanja, temveč na primer pri Microsoft 365 ali Google Workspace (Vaši zapisi MX kažejo tja), se pošta prek spletnega strežnika pogosto ne ujema z Vašim SPF in DKIM. Nekateri spletni strežniki poleg tega poskušajo pošto na Vašo lastno domeno dostaviti lokalno namesto prek MX, zato nikoli ne pride v Vaš pravi poštni predal.
Pravilna nastavitev pošiljatelja in Reply-To
Pogosta napaka pri kontaktnih obrazcih: kot pošiljatelja (From) uporabiti naslov obiskovalca. To se zdi logično (»potem lahko kliknem na odgovori«), vendar Vaš strežnik ne sme pošiljati v imenu @gmail.com ali @hotmail.com. Te domene imajo strogo politiko DMARC, zato prejemnik pošto zavrne ali jo označi kot neželeno.
Pravilno je:
From: Website <website@example.com> (naslov Vaše lastne domene)
Reply-To: bezoeker@example.net (naslov, ki ga je vnesel obiskovalec)
To: info@example.comZ Reply-To Vaš odgovor vseeno pride do obiskovalca. Skoraj vsak vtičnik za obrazce ima ti polji ločeni.
SMTP: pošiljanje prek pravega poštnega predala
Najbolj zanesljiva rešitev je, da WordPress pošto pošilja prek SMTP: na enak način, kot pošto pošilja Vaš poštni program, z uporabniškim imenom in geslom pravega poštnega predala. To storite z SMTP-vtičnikom (na primer WP Mail SMTP, FluentSMTP ali Post SMTP; obstajajo tudi drugi). Vtičnik prestreže wp_mail in pošto pošlje prek strežnika, ki ga navedete:
| Izbira | Za koga |
|---|---|
Poštni predal pri Vašem ponudniku gostovanja (na primer website@example.com na poštnem strežniku Vašega paketa gostovanja) | Večina manjših spletnih mest s pošto pri istem ponudniku |
| Vaša pošta pri Microsoft 365 ali Google Workspace | Če je Vaša pošta tam; pogosto prek posebne povezave v vtičniku (OAuth) namesto gesla, ker te storitve vedno bolj omejujejo navadno prijavo prek SMTP |
| Transakcijska poštna storitev (storitev, specializirana za pošiljanje pošte iz spletnih mest in aplikacij) | Spletne trgovine in spletna mesta, ki pošiljajo veliko pošte |
Prednosti: pošta gre prek strežnika, ki je že nastavljen s SPF in DKIM za Vašo domeno, pošiljatelj je obstoječi naslov, in mnogi vtičniki vodijo dnevnik, tako da vidite, kaj je bilo poslano in kaj ni uspelo.
Bodite pozorni na nekaj stvari:
- Za spletno mesto uporabite ločen e-poštni naslov (na primer
website@), ne svojega lastnega poštnega predala. Če je spletno mesto vdrto in geslo pricurlja v javnost, lahko ta naslov zamenjate brez škode. - Geslo za SMTP je shranjeno v podatkovni bazi ali v wp-config.php. Kjer je mogoče, uporabite geslo za aplikacije (app-geslo) ali povezavo brez gesla.
- Dnevnik pošte vsebuje osebne podatke (kdo je kaj poslal). Ne dovolite, da raste v nedogled (lekcija 9.3).
SPF, DKIM in DMARC za Vaše spletno mesto
Ne glede na to, kateri strežnik pošilja, se mora Vaš DNS temu prilagoditi:
- SPF: zapis SPF Vaše domene mora navajati strežnik, ki dostavlja pošto. Če pošiljate prek poštnega strežnika Vašega ponudnika gostovanja, je ta običajno že vključen. Če pošiljate prek transakcijske storitve, dodajte njihov
include:v isti zapis SPF (nikoli drugi zapis SPF, tečaj DNS, lekcija 4.3). - DKIM: pošiljajoči strežnik mora pošto podpisati s ključem, ki je naveden v Vašem DNS (
<selector>._domainkey.example.com). Pri Vašem ponudniku gostovanja in pri transakcijskih storitvah to vklopite; storitev Vam posreduje zapise. - DMARC: zapis na
_dmarc.example.com. Začnite zp=nonein zaostrite, ko vse deluje pravilno (tečaj DNS, lekcija 4.5).
Za DMARC mora biti domena v From usklajena (alignment) z domeno, ki prestane SPF ali DKIM. Zato je tako pomembno, da je »From Vaša lastna domena«.
Testiranje
- Mnogi SMTP-vtičniki imajo gumb Pošlji testno sporočilo. Pošljite ga na naslov pri drugem ponudniku (naslov Gmail ali Outlook.com) in preverite, ali pride v mapo prejeto.
- V tem sporočilu si oglejte glave (»Prikaži izvirno sporočilo« ali »Prikaži vir«). Poiščite
spf=pass,dkim=passindmarc=pass. - Izpolnite svoj lastni kontaktni obrazec in preverite, ali pošta prispe, s pravilnim Reply-To.
- Preizkusite tudi povezavo za ponastavitev gesla in, pri spletni trgovini, testno naročilo.
Spletna orodja, kot je mail-tester.com, podajo oceno in razlago; z E-poštnim preverjanjem Vašega ponudnika gostovanja (pri WebOké se tako imenuje) ali internet.nl preverite stran DNS.
V praksi: tako je videti v nadzorni plošči
Kot primer uporabimo DirectAdmin in SMTP-vtičnik. Pri drugih ponudnikih gostovanja in vtičnikih se polja imenujejo podobno.
- V DirectAdmin pod E-poštni računi ustvarite poštni predal
website@example.comz močnim geslom. - Pri Vašem ponudniku gostovanja poiščite nastavitve za odhodno pošto (ime strežnika, vrata 465 ali 587, šifriranje).
- Te vnesite v SMTP-vtičnik, z
website@example.comkot pošiljateljem. Vklopite »vsili pošiljatelja«, da tudi drugi vtičniki uporabljajo ta naslov. - Pri upravljanju DNS preverite, ali za Vašo domeno obstajajo SPF, DKIM in DMARC.
- Pošljite testno sporočilo in si oglejte glave.
Povzetek
- WordPress pošilja prek wp_mail in privzeto prek PHP mail(); pošiljatelj in DNS določata, ali pošta prispe.
- Pošiljatelja (From) nastavite na naslov Vaše lastne domene, naslov obiskovalca pa vpišite v Reply-To.
- Najbolj zanesljiv je SMTP-vtičnik z ločenim poštnim predalom ali transakcijska storitev, z vodenjem dnevnika.
- SPF mora navajati pošiljajoči strežnik (v enem zapisu), DKIM mora biti vklopljen, DMARC naj se začne s p=none.
- Testirajte z naslovom pri drugem ponudniku in v glavah preverite spf, dkim in dmarc.
Kviz
Naloga
Naloga A9.1: Je Vaša domena pripravljena na pošiljanje e-pošte s spletnega mesta? Vnesite svojo domeno, naslov, ki ga Vaše spletno mesto uporablja kot pošiljatelja, in strežnik, prek katerega Vaše spletno mesto pošilja pošto (ime strežnika SMTP ali »spletni strežnik«, če niste ničesar nastavili). Vnesite tudi selektor DKIM, če ga poznate. Program preveri: ali naslov pošiljatelja pripada Vaši domeni, ali obstaja natanko en zapis SPF in ali ta dovoljuje navedeni strežnik, ali obstaja zapis DKIM pri selektorju (ali sporoči, da brez selektorja ni mogoče preveriti), in ali obstaja veljaven zapis DMARC.
Naloga D9.1: Branje testnega e-sporočila. Pošljite testno sporočilo iz svojega spletnega mesta (testni gumb Vašega SMTP-vtičnika ali povezavo za ponastavitev gesla na testni račun) na naslov pri drugem ponudniku. Odprite glave tega sporočila in zapišite izide pri spf, dkim in dmarc, ter katera domena je navedena pri vsakem. Nato izpolnite svoj lastni kontaktni obrazec in preverite: ali pošta prispe in ali »odgovori« vodi na naslov, ki ste ga vnesli v obrazec?
Naloga D9.1: Branje testnega e-sporočila
To nalogo opravite sami; nihče je ne pregleda. Odkljukajte, kar ste naredili, in nalogo označite kot opravljeno.
Tri rezultate (pass, fail ali none) z domeno, na primer "spf=pass smtp.mailfrom=vašadomena.si". Pri fail navedite naslednji korak (dopolnitev SPF, vklop DKIM, SMTP vtičnik).
Vaše kljukice in zapiski ostanejo samo v tem brskalniku, nikamor jih ne pošiljamo. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo opravili.
Dodatno branje
Ti članki opisujejo korake v nadzornih ploščah WebOké; pri drugih ponudnikih delujejo podobno.
- Pošiljanje pošte prek PHP ne deluje, zapisi MX kažejo drugam
- Kako v PHP z mail() dosežem pravega pošiljatelja? SMTP
- Kontaktni obrazec na Vaši spletni strani: pošiljanje vsebine polj po e-pošti in preprečevanje neželene pošte
- Razlaga postopka pošiljanja e-pošte / SMTP
- Priročnik DirectAdmin 18.10: Ne morem poslati e-pošte
- Brezplačen tečaj DNS 4.3: SPF: kdo sme pošiljati pošto v imenu Vaše domene?
- Brezplačen tečaj DNS 4.4: DKIM: podpis pod Vašo pošto
- Brezplačen tečaj DNS 4.5: DMARC: kaj morajo prejemniki narediti z lažno pošto
