Modul 9 · 9.1
E-post från WordPress
Modul 9: E-post, synlighet i sökmotorer, GDPR, underhåll och flytt · Lästid: 9 minuter
Lärandemål: Efter den här lektionen kan du se till att e-post från WordPress (formulär, beställningar, lösenordslänkar) kommer fram på ett tillförlitligt sätt.
Nyckelbegrepp: wp_mail, PHP mail(), avsändare (From), Reply-To, SMTP, SMTP-tillägg, autentiserad e-postlåda, transaktionell e-posttjänst, SPF, DKIM, DMARC, uppriktning (alignment), MX på annan plats, testmejl
WordPress skickar mer e-post än du tror
Din webbplats skickar e-post vid: ett ifyllt kontaktformulär, en beställning (till kunden och till dig), en ny användare, ett glömt lösenord, en ny kommentar, en automatisk uppdatering, ett kritiskt fel (lektion 5.4). Kommer den e-posten inte fram märker du det ofta först när en kund ringer: "jag har fyllt i formuläret tre gånger."
Hur WordPress skickar e-post som standard
WordPress skickar allt via funktionen wp_mail. Som standard lämnar den e-posten till PHP-funktionen mail(), som skickar den vidare till webbserverns e-postprogram. Det fungerar, men har tre svaga punkter:
- Avsändaren. Utan inställning skickar WordPress som
wordpress@example.com. Finns inte den adressen, eller är avsändaren något annat än din egen domän, blir mottagarna misstänksamma. - SPF, DKIM och DMARC. Mottagande e-postservrar kontrollerar om servern som levererar e-posten får skicka e-post å din domäns vägnar (SPF), om e-posten har en giltig digital signatur från din domän (DKIM), och vad din domäns policy är om det inte stämmer (DMARC). I DNS-kursen (lektion 4.3 till och med 4.5) kan du läsa hur det fungerar. E-post via webbservern klarar bara dessa kontroller om din DNS och servern är konfigurerade för det.
- E-post på annan plats. Ligger din e-post inte hos ditt webbhotell utan till exempel hos Microsoft 365 eller Google Workspace (dina MX-poster pekar dit), stämmer e-post via webbservern ofta inte med din SPF och DKIM. Och vissa webbservrar försöker leverera e-post till din egen domän lokalt i stället för via MX, så att den aldrig kommer fram till din riktiga brevlåda.
Ställa in avsändaren och Reply-To rätt
Ett vanligt fel vid kontaktformulär: att använda besökarens adress som avsändare (From). Det kan verka logiskt ("då kan jag trycka på svara"), men din server får inte skicka e-post å @gmail.com eller @hotmail.coms vägnar. De domänerna har en sträng DMARC-policy, så mottagaren avvisar e-posten eller lägger den i skräpposten.
Rätt sätt är:
From: Website <website@example.com> (en adress på din egen domän)
Reply-To: bezoeker@example.net (adressen som besökaren angav)
To: info@example.comMed Reply-To hamnar ditt svar ändå hos besökaren. Nästan alla formulärtillägg har dessa två fält separat.
SMTP: skicka via en riktig e-postlåda
Den mest tillförlitliga lösningen är att låta WordPress skicka e-post via SMTP: samma sätt som ditt e-postprogram skickar på, med användarnamn och lösenord för en riktig e-postlåda. Det gör du med ett SMTP-tillägg (till exempel WP Mail SMTP, FluentSMTP eller Post SMTP, det finns fler). Tillägget fångar upp wp_mail och skickar e-posten via den server du anger:
| Val | För vem |
|---|---|
E-postlådan hos ditt eget webbhotell (till exempel website@example.com på e-postservern i ditt webbhotellspaket) | De flesta mindre webbplatser med e-post hos samma leverantör |
| Din e-post hos Microsoft 365 eller Google Workspace | Om din e-post ligger där, ofta via en särskild koppling i tillägget (OAuth) i stället för ett lösenord, eftersom de tjänsterna allt mer begränsar vanlig SMTP-inloggning |
| En transaktionell e-posttjänst (en tjänst specialiserad på att skicka e-post från webbplatser och appar) | Webbutiker och webbplatser som skickar mycket e-post |
Fördelar: e-posten går via en server som redan är konfigurerad med SPF och DKIM för din domän, avsändaren är en befintlig adress, och många tillägg för en logg, så att du ser vad som har skickats och vad som misslyckades.
Tänk på några saker:
- Använd en separat e-postadress för webbplatsen (till exempel
website@), inte din egen brevlåda. Blir webbplatsen hackad och lösenordet läcker ut kan den adressen bytas ut utan skada. - SMTP-lösenordet lagras i databasen eller i wp-config.php. Använd där det går ett applösenord eller en koppling utan lösenord.
- En e-postlogg innehåller personuppgifter (vem har skickat vad). Låt den inte växa i oändlighet (lektion 9.3).
SPF, DKIM och DMARC för din webbplats
Oavsett vilken server som skickar måste din DNS stämma överens:
- SPF: domänens SPF-post måste nämna servern som levererar e-posten. Skickar du via ditt webbhotells e-postserver står den oftast redan där. Skickar du via en transaktionell tjänst lägger du till deras
include:i samma SPF-post (aldrig en andra SPF-post, DNS-kursen lektion 4.3). - DKIM: den sändande servern måste signera e-posten med en nyckel som finns i din DNS (
<selector>._domainkey.example.com). Hos ditt webbhotell och hos transaktionella tjänster aktiverar du det, tjänsten ger dig posterna. - DMARC: en post på
_dmarc.example.com. Börja medp=noneoch skärp när allt stämmer (DNS-kursen lektion 4.5).
För DMARC måste domänen i From vara uppriktad (alignment) med domänen som SPF eller DKIM klarar. Därför är "From på din egen domän" så viktigt.
Testa
- Många SMTP-tillägg har en knapp för Skicka testmejl. Skicka ett till en adress hos en annan leverantör (en Gmail- eller Outlook.com-adress) och se om det hamnar i inkorgen.
- Titta i det mejlet på headers ("Visa original" eller "Visa källa"). Leta efter
spf=pass,dkim=passochdmarc=pass. - Fyll i ditt eget kontaktformulär och kontrollera om e-posten kommer fram, med rätt Reply-To.
- Testa även en lösenordslänk och, för en butik, en testbeställning.
Onlineverktyg som mail-tester.com ger en poäng och förklaring, med E-postkontrollen hos ditt webbhotell (hos WebOké heter den så) eller internet.nl kontrollerar du DNS-sidan.
I praktiken: så här ser det ut i en panel
Som exempel använder vi DirectAdmin och ett SMTP-tillägg. Hos andra webbhotell och tillägg heter fälten liknande.
- Skapa i DirectAdmin under E-postkonton en e-postlåda
website@example.commed ett starkt lösenord. - Leta upp inställningarna för utgående e-post hos ditt webbhotell (servernamn, port 465 eller 587, kryptering).
- Fyll i dessa i SMTP-tillägget, med
website@example.comsom avsändare. Aktivera "tvinga avsändare" så att även andra tillägg använder den här adressen. - Kontrollera under DNS-hantering att SPF, DKIM och DMARC finns för din domän.
- Skicka ett testmejl och läs headers.
Sammanfattning
- WordPress skickar via wp_mail och som standard via PHP mail(), avsändaren och DNS avgör om det kommer fram.
- Sätt avsändaren (From) till en adress på din egen domän och besökarens adress i Reply-To.
- Ett SMTP-tillägg med en separat e-postlåda eller en transaktionell tjänst är mest tillförlitligt, med en logg.
- SPF måste nämna den sändande servern (i en post), DKIM måste vara aktiverat, DMARC bör börja med p=none.
- Testa med en adress hos en annan leverantör och läs spf, dkim och dmarc i headers.
Quiz
Uppgift
Uppgift A9.1: Är din domän redo att skicka e-post från din webbplats? Fyll i din domän, adressen som din webbplats använder som avsändare, och servern som din webbplats skickar e-post via (namnet på SMTP-servern, eller "webbserver" om du inte ställt in något). Fyll även i DKIM-selektorn om du vet den. Programmet kontrollerar: avsändaradressen hör till din domän, det finns exakt en SPF-post och den tillåter den angivna servern, det finns en DKIM-post vid selektorn (eller så meddelar det att det inte kan kontrollera utan selektor), och det finns en giltig DMARC-post.
Uppgift D9.1: Läsa ett testmejl. Skicka ett testmejl från din webbplats (testknappen i ditt SMTP-tillägg, eller en lösenordslänk till ett testkonto) till en adress hos en annan leverantör. Öppna headers för det mejlet och notera resultaten för spf, dkim och dmarc, och vilken domän som anges vid respektive. Fyll sedan i ditt eget kontaktformulär och kontrollera: kommer e-posten fram, och går "svara" till adressen du angav i formuläret?
Uppgift D9.1: Läsa ett testmejl
Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.
Tre resultat (pass, fail eller none) med en domän, till exempel "spf=pass smtp.mailfrom=dindoman.se". Vid en fail anger du nästa steg (komplettera SPF, aktivera DKIM, SMTP-tillägg).
Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.
Läs mer
Dessa artiklar beskriver stegen i WebOkés paneler, i andra paneler fungerar de på liknande sätt.
- Det går inte att skicka e-post via PHP, MX-posterna pekar till en annan leverantör
- Hur får jag rätt avsändare med mail() i PHP? SMTP
- Ett kontaktformulär på din webbplats: skicka fält via e-post och förhindra spam
- Så fungerar det när e-post skickas (SMTP)
- DirectAdmin-guide 18.10: Jag kan inte skicka e-post
- Gratis DNS-kurs 4.3: SPF: vem får skicka e-post i din domäns namn?
- Gratis DNS-kurs 4.4: DKIM: signaturen under din e-post
- Gratis DNS-kurs 4.5: DMARC: vad mottagare ska göra med falsk e-post
