
Sisukord
Kontaktvorm saadab kinnituse. Tellimuse teavitus WooCommerce’ist. Parooli taastamise link. Kõik need eeldavad, et WordPress suudab e-kirju saata. Ja tihti ei suudagi – kirjad kaovad, jõuavad rämpsposti või ei jõua kohale üldse, ilma et keegi seda kohe märkaks.
Probleem ei ole WordPressis endas. Probleem on selles, kuidas WordPress e-kirju vaikimisi saadab.
Miks WordPress wp_mail() on ebausaldusväärne
WordPress kasutab vaikimisi PHP sisseehitatud mail() funktsiooni e-kirjade saatmiseks. See funktsioon saadab kirja otse serverist, ilma autentimiseta, ilma korraliku autoriseerimiseta.
Probleem 1 – puuduv autentimine. E-kiri, mis saadetakse ilma SPF, DKIM ja DMARC autentimiseta, näeb vastuvõtva serveri (Gmail, Outlook) jaoks välja kahtlane. Enamik suuri e-posti teenuseid filtreerib sellised kirjad automaatselt rämpsposti või blokeerib täielikult.
Probleem 2 – jagatud serveri maine. Jagatud majutuse puhul saadetakse su kirjad samalt IP-aadressilt, kust ka sadade teiste veebilehtede kirjad väljuvad. Kui mõni neist saadab rämpsposti, kannatab kogu IP-aadressi maine – ja sinu legitiimsed kirjad kannatavad kaasa.
Probleem 3 – puuduv tagasiside. mail() funktsioon ei anna infot selle kohta, kas kiri tegelikult kohale jõudis. WordPress “arvab”, et kiri saadeti, aga tegelikkuses võib see kaduda kuskile serveri ja vastuvõtja vahele, ilma et keegi teaks.
Tulemus: kliendid ei saa tellimuse kinnitust, kasutajad ei saa parooli taastamise linki, sina ei saa kontaktvormi teavitust – ja kõik tundub, nagu töötaks, sest WordPress ei näita ühtegi veateadet.
SMTP – õige lahendus
SMTP (Simple Mail Transfer Protocol) koos autentimisega saadab kirju läbi spetsiaalse e-posti teenuse, mis on selle jaoks disainitud. Erinevalt mail() funktsioonist:
- Kiri autenditakse kasutajanime ja parooliga (või API võtmega)
- Teenus haldab SPF/DKIM/DMARC seadistust automaatselt
- Saad tagasisidet – kas kiri saadeti, jõudis kohale, avati
- Maine on teenuse, mitte jagatud serveri IP-aadressi oma
WP Mail SMTP – seadistamise plugin
WP Mail SMTP on standardlahendus WordPressile SMTP seadistamiseks – asendab mail() funktsiooni korraliku SMTP ühendusega.
Seadistus põhisammud:
- Installi ja aktiveeri WP Mail SMTP
- Settings → WP Mail SMTP → vali e-posti teenus (Brevo, Mailgun, SendGrid, Gmail, Outlook jne)
- Sisesta teenuse API võti või SMTP kredentsiaalid
- Saada testkiri, veendu et see jõuab kohale
Plugin ise ei saada kirju – see on ainult ühenduslüli WordPress’i ja e-posti teenuse vahel. Teenus (Brevo, Mailgun) teeb tegeliku töö.
Brevo (endine Sendinblue) – hea valik väiksemale saidile
Brevo pakub tasuta taset kuni 300 kirja päevas – piisav enamikule väikestele/keskmistele WordPress saitidele (kontaktvormid, tellimuse teavitused, parooli taastamine).
Seadistus WP Mail SMTP-s:
- Loo Brevo konto (brevo.com)
- Genereeri SMTP võti: Brevo → SMTP & API → SMTP
- WP Mail SMTP-s vali “Brevo” mailer
- Sisesta API võti
- Kinnita saatja e-posti aadress (Brevo nõuab domeeni või e-posti kinnitust)
Domeeni autentimine (soovituslik) – Brevo → Senders & IP → Domains → lisa oma domeen, seadista DNS kirjed (SPF, DKIM), mida Brevo täpselt näitab. See tõstab kohaletoimetamise tõenäosust märgatavalt võrreldes kinnitamata domeeniga.
Mailgun – suurema mahu ja arendajasõbralik valik
Mailgun sobib suurema kirjade mahuga saitidele või kui vajad detailsemat API kontrolli. Esimesed 5000 kirja kuus tasuta (uutel kontodel, tingimused muutuvad aeg-ajalt – kontrolli Mailgun’i praegust hinnakirja).
Seadistus:
- Loo Mailgun konto, lisa domeen
- Seadista DNS kirjed (SPF, DKIM, MX kui kasutad Mailgun’i ka sissetulevate kirjade jaoks)
- WP Mail SMTP-s vali “Mailgun” mailer
- Sisesta API võti ja domeen
Mailgun’i eelis on detailne logimine – näed täpselt iga saadetud kirja staatust (delivered, opened, bounced, complained) API või dashboard’i kaudu.
Testimine – kas SMTP töötab korrektselt
Pärast seadistamist ei piisa ainult “kas testkiri jõudis minu enda postkasti” kontrollist. Põhjalikum testimine:
WP Mail SMTP Email Test – plugina sisseehitatud test saadab kirja määratud aadressile ja näitab, kas SMTP ühendus õnnestus.
Mail-tester.com – saada testkiri mail-tester.com poolt antud aadressile, saad tagasi detailse hinnangu (0-10 skoor) SPF, DKIM, DMARC, sisu ja rämpsposti riski kohta. See on parim tööriist enne live keskkonda minekut.
Reaalne stsenaarium – täida kontaktvorm nagu tavakasutaja, kontrolli et kiri jõuab kohale mõistliku ajaga ja mitte rämpspostikausta.
WooCommerce tellimuse test – tee testtellimus (kasutades testmakset), veendu et nii kliendi kinnituskiri kui admin teavitus jõuavad kohale.
SPF, DKIM, DMARC – lühidalt
Need kolm DNS kirjet autendivad, et sinu domeen tohib saata e-kirju läbi konkreetse teenuse.
SPF (Sender Policy Framework) – ütleb, millised serverid tohivad su domeeni nimel kirju saata. Ilma selleta võib vastuvõttev server pidada kirja võltsituks.
DKIM (DomainKeys Identified Mail) – digitaalne allkiri, mis kinnitab, et kiri pole teel muudetud ja pärineb tõesti väidetud domeenilt.
DMARC – ütleb vastuvõtvale serverile, mida teha, kui SPF või DKIM kontroll ebaõnnestub (tagasi lükata, rämpsposti panna, või mitte midagi).
Brevo ja Mailgun mõlemad annavad täpsed DNS kirjed, mida oma domeeni juures lisada – tavaliselt Zone.ee või muu registripidaja DNS halduses. Need kirjed on domeenispetsiifilised ja tuleb lisada iga kord, kui vahetad e-posti teenust või lisad uue saatja domeeni.
Levinud vead SMTP seadistamisel
Saatja aadress ei kattu kinnitatud domeeniga – kui Brevo/Mailgun on kinnitatud domeenile naidis.ee, aga WordPress saadab kirju info@teine-domeen.ee pealt, tekib autentimisviga.
DNS kirjed lisatud valesse kohta – kui domeen on registreeritud ühes kohas (nt Zone) aga DNS hallatakse mujal, tuleb kirjed lisada sinna, kus DNS tegelikult töötab.
Testimine ainult oma postkasti peal – oma domeeni sisene test (nt Gmail → Gmail) läbib tihti isegi valesti seadistatud SMTP puhul, sest suured teenused on üksteise vahel leebemad. Testi alati mail-tester.com’iga põhjalikuma pildi saamiseks.
Unustatud WooCommerce e-kirjad – pärast SMTP seadistamist testi kindlasti kõiki WooCommerce automaatseid kirju (tellimuse kinnitus, arve, tarne teavitus, tagastuse kinnitus) – need kasutavad sama wp_mail() süsteemi, aga on kergesti unustatavad testimisel.
Kokkuvõte
WordPress vaikimisi mail() funktsioon on piisav testimiseks lokaalses keskkonnas, aga mitte kunagi live saidile. SMTP koos korraliku teenusega (Brevo väiksemale mahule, Mailgun suuremale) ja korrektse DNS autentimisega (SPF, DKIM, DMARC) on ainuke usaldusväärne viis tagada, et su lehe kirjad – kontaktvormid, tellimused, paroolid – tegelikult kliendini jõuavad.
Seadistamine võtab 15-20 minutit. Testimine mail-tester.com’iga veel 5 minutit. See on üks väiksemaid, aga kõige kriitilisemaid tehnilisi seadistusi, mida iga WordPress sait vajab.
Seotud postitused
Pluginad ja skriptid – audit ja kustutamine
reCAPTCHA ainult vormidel, WooCommerce skriptid ainult poes, galeriiplugin ainult galeriidega…
Mobiil-first indekseerimine – mida see tähendab praktikas
Google indekseerib su lehte mobiilse versiooni põhjal, mitte desktop versiooni. Levinud vead,…
Kolmanda osapoole skriptid – millal laadida, millal mitte
Kriitiline, oluline, valikuline – raamistik iga välise skripti jaoks. reCAPTCHA, YouTube embed,…
Kuidas lisada custom JS ainult ühele lehele
wp_enqueue_script tingimustega, defer vs async atribuudid ja wp_localize_script andmete…