Moduuli 9 · 9.1
Sähköposti WordPressistä
Moduuli 9: Sähköposti, löydettävyys, tietosuoja-asetus, ylläpito ja siirtäminen · Lukuaika: 9 minuuttia
Oppimistavoite: Tämän oppitunnin jälkeen osaat varmistaa, että WordPressistä lähtevä sähköposti (lomakkeet, tilaukset, salasanalinkit) saapuu luotettavasti perille.
Keskeiset käsitteet: wp_mail, PHP mail(), lähettäjä (From), Reply-To, SMTP, SMTP-lisäosa, tunnistautunut sähköpostilaatikko, transaktionaalinen sähköpostipalvelu, SPF, DKIM, DMARC, kohdistus (alignment), MX muualla, testiviesti
WordPress lähettää enemmän sähköpostia kuin luulet
Sivustosi lähettää sähköpostia näissä tilanteissa: täytetty yhteydenottolomake, tilaus (asiakkaalle ja sinulle), uusi käyttäjä, unohtunut salasana, uusi kommentti, automaattinen päivitys, kriittinen virhe (oppitunti 5.4). Jos viesti ei saavu perille, huomaat sen usein vasta kun asiakas soittaa: "täytin lomakkeen kolmesti."
Miten WordPress lähettää oletuksena
WordPress lähettää kaiken funktion wp_mail kautta. Oletuksena se antaa viestin PHP-funktiolle mail(), joka välittää sen webpalvelimen sähköpostiohjelmalle. Tämä toimii, mutta siinä on kolme heikkoa kohtaa:
- Lähettäjä. Ilman asetusta WordPress lähettää osoitteesta
wordpress@example.com. Jos tätä osoitetta ei ole olemassa, tai lähettäjä on jotain muuta kuin oma verkkotunnuksesi, vastaanottajat eivät luota viestiin. - SPF, DKIM ja DMARC. Vastaanottavat sähköpostipalvelimet tarkistavat, saako viestin toimittava palvelin lähettää postia verkkotunnuksesi nimissä (SPF), onko viestissä verkkotunnuksesi kelvollinen digitaalinen allekirjoitus (DKIM) ja mikä on verkkotunnuksesi käytäntö, jos nämä eivät täsmää (DMARC). DNS-kurssilla (oppitunnit 4.3-4.5) kerrotaan, miten tämä toimii. Webpalvelimen kautta lähetetty posti läpäisee nämä tarkistukset vain, jos DNS ja palvelin on määritetty oikein.
- Sähköposti muualla. Jos sähköpostisi ei ole webhotellissasi vaan esimerkiksi Microsoft 365:ssä tai Google Workspacessa (MX-tietueesi osoittavat sinne), webpalvelimen kautta lähetetty posti ei usein täsmää SPF- ja DKIM-tietojesi kanssa. Lisäksi jotkin webpalvelimet yrittävät toimittaa omaan verkkotunnukseesi menevän postin paikallisesti MX:n sijaan, jolloin viesti ei koskaan saavu oikeaan sähköpostilaatikkoosi.
Lähettäjän ja Reply-To:n asettaminen oikein
Yleinen virhe yhteydenottolomakkeissa: kävijän osoitteen käyttäminen lähettäjänä (From). Tämä vaikuttaa loogiselta ("silloin voin painaa vastaa"), mutta palvelimesi ei saa lähettää postia osoitteen @gmail.com tai @hotmail.com nimissä. Näillä verkkotunnuksilla on tiukka DMARC-käytäntö, joten vastaanottaja joko hylkää viestin tai siirtää sen roskapostiin.
Oikea tapa on:
From: Website <website@example.com> (oman verkkotunnuksesi osoite)
Reply-To: bezoeker@example.net (osoite, jonka kävijä syötti)
To: info@example.comReply-To:n avulla vastauksesi päätyy silti kävijälle. Lähes jokaisessa lomakelisäosassa nämä kaksi kenttää ovat erillään.
SMTP: lähettäminen oikean sähköpostilaatikon kautta
Luotettavin ratkaisu on antaa WordPressin lähettää postia SMTP:n kautta: samalla tavalla kuin sähköpostiohjelmasi lähettää viestejä, käyttäjätunnuksella ja salasanalla oikeaan sähköpostilaatikkoon. Tämä onnistuu SMTP-lisäosalla (esimerkiksi WP Mail SMTP, FluentSMTP tai Post SMTP; vaihtoehtoja on useita). Lisäosa sieppaa wp_mail-kutsut ja lähettää viestin antamasi palvelimen kautta:
| Vaihtoehto | Kenelle sopii |
|---|---|
Oman webhotellisi sähköpostilaatikko (esimerkiksi website@example.com hostingpakettisi sähköpostipalvelimella) | Useimmat pienet sivustot, joiden sähköposti on samalla palveluntarjoajalla |
| Sähköpostisi on Microsoft 365:ssä tai Google Workspacessa | Jos sähköpostisi on siellä; usein erityisen liitännän kautta lisäosassa (OAuth) salasanan sijaan, koska nämä palvelut rajoittavat yhä enemmän tavallista SMTP-kirjautumista |
| Transaktionaalinen sähköpostipalvelu (palvelu, joka on erikoistunut sivustoilta ja sovelluksilta lähetettävään sähköpostiin) | Verkkokaupat ja paljon sähköpostia lähettävät sivustot |
Edut: viesti kulkee palvelimen kautta, joka on jo määritetty verkkotunnuksesi SPF- ja DKIM-tietojen mukaisesti, lähettäjä on olemassa oleva osoite ja monet lisäosat pitävät lokia, josta näet mitä on lähetetty ja mikä epäonnistui.
Huomioi muutama asia:
- Käytä sivustolle erillistä sähköpostiosoitetta (esimerkiksi
website@), älä omaa sähköpostilaatikkoasi. Jos sivusto hakkeroidaan ja salasana vuotaa, tämä osoite voidaan vaihtaa ilman vahinkoa. - SMTP-salasana on tietokannassa tai wp-config.php-tiedostossa. Käytä mahdollisuuksien mukaan sovelluskohtaista salasanaa tai salasanatonta liitäntää.
- Sähköpostiloki sisältää henkilötietoja (kuka lähetti mitäkin). Älä anna sen kasvaa loputtomiin (oppitunti 9.3).
SPF, DKIM ja DMARC sivustollesi
Riippumatta siitä mikä palvelin lähettää, DNS:n on vastattava tätä:
- SPF: verkkotunnuksesi SPF-tietueessa on mainittava viestin toimittava palvelin. Jos lähetät webhotellisi sähköpostipalvelimen kautta, se on yleensä jo siellä. Jos lähetät transaktionaalisen palvelun kautta, lisää sen
include:-merkintä samaan SPF-tietueeseen (ei koskaan toista SPF-tietuetta, DNS-kurssi oppitunti 4.3). - DKIM: lähettävän palvelimen on allekirjoitettava viesti avaimella, joka on DNS:ssäsi (
<selector>._domainkey.example.com). Tämä otetaan käyttöön webhotellissasi ja transaktionaalisissa palveluissa; palvelu antaa sinulle tarvittavat tietueet. - DMARC: tietue osoitteessa
_dmarc.example.com. Aloita arvollap=noneja tiukenna käytäntöä, kun kaikki toimii (DNS-kurssi oppitunti 4.5).
DMARC:ia varten From-kentän verkkotunnuksen on oltava kohdistettu (aligned) sen verkkotunnuksen kanssa, joka läpäisee SPF:n tai DKIM:n. Siksi "From omaan verkkotunnukseesi" on niin tärkeää.
Testaaminen
- Monissa SMTP-lisäosissa on painike Lähetä testiviesti. Lähetä viesti toisen palveluntarjoajan osoitteeseen (Gmail- tai Outlook.com-osoite) ja tarkista, saapuuko se saapuneisiin.
- Tarkista kyseisen viestin otsakkeet ("Näytä alkuperäinen" tai "Näytä lähde"). Etsi
spf=pass,dkim=passjadmarc=pass. - Täytä oma yhteydenottolomakkeesi ja tarkista, saapuuko viesti perille oikealla Reply-To-osoitteella.
- Testaa myös salasanalinkki ja, jos sinulla on verkkokauppa, testitilaus.
Verkossa olevat työkalut kuten mail-tester.com antavat pisteytyksen ja selityksen; webhotellisi E-mailcheck-työkalulla (WebOkéssa se on nimeltään tämä) tai internet.nl-palvelulla voit tarkistaa DNS-puolen.
Käytännössä: näin se näkyy hallintapaneelissa
Esimerkkinä käytämme DirectAdminia ja SMTP-lisäosaa. Muissa webhotelleissa ja lisäosissa kentät ovat vastaavia.
- Luo DirectAdminissa kohdassa E-mail accounts sähköpostilaatikko
website@example.comvahvalla salasanalla. - Etsi webhotellisi asetuksista lähtevän postin tiedot (palvelimen nimi, portti 465 tai 587, salaus).
- Syötä nämä SMTP-lisäosaan, lähettäjänä
website@example.com. Ota käyttöön "pakota lähettäjä", jotta myös muut lisäosat käyttävät tätä osoitetta. - Tarkista DNS-hallinnasta, että verkkotunnuksellesi on olemassa SPF, DKIM ja DMARC.
- Lähetä testiviesti ja lue otsakkeet.
Yhteenveto
- WordPress lähettää wp_mail-funktion kautta ja oletuksena PHP:n mail()-funktiolla; lähettäjä ja DNS ratkaisevat, saapuuko viesti perille.
- Aseta lähettäjä (From) oman verkkotunnuksesi osoitteeseen ja kävijän osoite Reply-To-kenttään.
- SMTP-lisäosa erillisellä sähköpostilaatikolla tai transaktionaalinen palvelu on luotettavin vaihtoehto, lokin kanssa.
- SPF:n on mainittava lähettävä palvelin (yhdessä tietueessa), DKIM:n on oltava käytössä, DMARC:in kannattaa alkaa arvolla p=none.
- Testaa toisen palveluntarjoajan osoitteella ja lue spf, dkim ja dmarc otsakkeista.
Tietovisa
Tehtävä
Tehtävä A9.1: Onko verkkotunnuksesi valmis lähettämään sähköpostia sivustoltasi? Syötä verkkotunnuksesi, osoite jota sivustosi käyttää lähettäjänä, ja palvelin jonka kautta sivustosi lähettää postia (SMTP-palvelimen nimi, tai "webpalvelin" jos et ole asettanut mitään). Syötä myös DKIM-selektori, jos tiedät sen. Ohjelma tarkistaa: lähettäjäosoite kuuluu verkkotunnuksellesi, SPF-tietueita on täsmälleen yksi ja se sallii mainitun palvelimen, selektorilla löytyy DKIM-tietue (tai ohjelma ilmoittaa, ettei se voi tarkistaa ilman selektoria), ja DMARC-tietue on kelvollinen.
Tehtävä D9.1: Testisähköpostin lukeminen. Lähetä testiviesti sivustoltasi (SMTP-lisäosasi testipainike, tai salasanalinkki testitilille) toisen palveluntarjoajan osoitteeseen. Avaa viestin otsakkeet ja kirjaa tulokset kohdista spf, dkim ja dmarc, sekä mikä verkkotunnus on kussakin mainittu. Täytä sen jälkeen oma yhteydenottolomakkeesi ja tarkista: saapuuko viesti perille, ja meneekö "vastaa" osoitteeseen jonka syötit lomakkeeseen?
Tehtävä D9.1: Testisähköpostin lukeminen
Tämän tehtävän teet itse, kukaan ei tarkista sitä. Merkitse tekemäsi kohdat ja merkitse tehtävä tehdyksi.
Kolme tulosta (pass, fail tai none) ja verkkotunnus kullekin, esimerkiksi "spf=pass smtp.mailfrom=sinunverkkotunnuksesi.fi". Jos tulos on fail, mainitse seuraava askel (SPF:n täydentäminen, DKIM:n käyttöönotto, SMTP-lisäosa).
Merkintäsi ja muistiinpanosi pysyvät vain tässä selaimessa, emme lähetä niitä minnekään. Jos olet kirjautunut sisään, tallennamme kohtaan Omat kurssit vain sen, että olet tehnyt tehtävän.
Lue lisää
Nämä artikkelit kuvaavat vaiheet WebOkén hallintapaneeleissa; muissa paneeleissa toiminta on vastaavaa.
- Sähköpostin lähettäminen PHP:llä ei onnistu, MX-tietueet osoittavat muualle
- Miten saan PHP:n mail()-funktiolla oikean lähettäjän? SMTP
- Verkkosivustosi yhteydenottolomake: lähetä kentät sähköpostitse ja estä roskaposti
- Sähköpostin lähetysprosessi ja SMTP
- DirectAdmin-ohje 18.10: En voi lähettää sähköpostia
- Ilmainen DNS-kurssi 4.3: SPF: kuka saa lähettää sähköpostia verkkotunnuksesi puolesta?
- Ilmainen DNS-kurssi 4.4: DKIM: allekirjoitus sähköpostisi alla
- Ilmainen DNS-kurssi 4.5: DMARC: mitä vastaanottajien pitäisi tehdä huijausviesteille
