SaaS & levering
Hvis I søger efter transaktionsmail og DNS, eller efter hvorfor email rammer spam, står I typisk ét sted: password-reset, faktura eller magic link kommer ikke frem. Nogen skifter skabelonens farve. Nogen skifter udbyder. Nogen beder kunden 'kig i spam' og kalder det en proces.
Billing- og auth-posten handler om Stripe, organisationer og hvem der må hvad i produktet. Den her handler om den mail, produktet sender bagefter — og om den overhovedet lander. Transaktionsmail er ikke marketing. Det er en del af login, betaling og den aftale, kunden tror I har overholdt, når de trykker 'send link'.
TL;DR
De vigtigste pointer
- Reset, faktura, kvittering og magic link er produkt. De må ikke dele omdømme med et nyhedsbrev.
- SPF, DKIM og DMARC er identitet. Uden dem gætter indbakken — og gætter ofte på spam.
- From-domænet I viser, skal være det domæne, I kan skrive under på. Et delt ESP-domæne er ikke jeres.
- Skabelonen er det sidste, I skifter. Headers og DNS er det første, I læser.
- I skal kunne sige hvem der sender, hvem der ser bounces, og hvad Stripe allerede sender for jer.
- En eftermiddag med en frisk adresse slår et nyt værktøj, I køber for at få de gamle mails tilbage.
Hvorfor det her overhovedet er vigtigt
En transaktionsmail, der ikke lander, er ikke et designproblem. Det er et brudt produkt. Kunden kan ikke komme ind. De kan ikke se kvitteringen. De tror, I aldrig svarede på bookingen. Support får den samme sag, I allerede 'har sendt'. I har ikke et mail-problem. I har et tillidsproblem, I måler som tickets.
Teams reagerer forkert. De skriver om emnelinjen. De tilføjer et logo. De skifter fra én 'smart' udbyder til en anden med samme manglende DNS. De slår et marketing-værktøj til på samme From, fordi 'så har vi alt ét sted'. Indbakker slår ikke op i jeres Figma. De slår op i om I må sende som det navn, I påstår.
Det er også et auth- og billing-spørgsmål. Magic link og reset er døren ind. Faktura og kvittering er døren til 'I skylder' og 'I har betalt'. Hvis Stripe sender den ene, og I sender den anden fra et andet domæne, der ikke kan underskrives, har kunden to afsendere og én tvivl. Billing-modellen kan være rigtig, og mailen kan stadig være løgnen i kæden.
Vi skriver det, fordi 'email rammer spam' er blevet et værktøjskøb oven på den samme zone. Et ærligt setup er kedeligt: I ved hvilket domæne der står i From, hvilke nøgler der underskriver, hvad der sker ved bounce, og hvilke mails I slet ikke skal sende fordi Stripe eller auth-leverandøren allerede gør det. Uden den sætning har I en skabelon. I har ikke levering, I kan forsvare.
Hvad transaktionsmail faktisk er — og hvad det ikke er
Transaktionsmail er en mail, produktet skylder brugeren fordi de gjorde noget, eller fordi I skylder dem en tilstand: reset, bekræftelse, kvittering, 'dit link', 'betalingen fejlede', 'invitationen venter'. Den er forventet. Den er tidskritisk. Den må ikke være et nyhedsbrev, I har sat et andet badge på.
Marketing-mail er en mail, I gerne vil have, at de åbner. Andet formål, andet samtykke, andet omdømme. Når I blander dem på samme From og samme IP-pool, arver reset-mailen det rygte, jeres kampagne byggede. Det er den almindelige grund til at 'det virkede i staging' og dør i produktion efter første udsendelse.
DNS er ikke dekoration. SPF siger hvem der må sende som domenet. DKIM siger at indholdet ikke blev pillet ved undervejs. DMARC siger hvad modtageren skal gøre, når de to ikke stemmer — og om From må se ud som jer, når underskriften sidder et andet sted. Alignment er ordet, de fleste springer over: det synlige From og den underskrivende identitet skal høre sammen. Ellers hjælper pæne records ikke.
Ejerskab er den del, skabelon-debatten skjuler. Hvem kan ændre From? Hvem har DNS? Hvem ser, at en reset bouncede? Hvem har lov at sende 'et hurtigt nyhedsbrev' fra det samme domæne? Hvis svaret er 'marketing har værktøjet, udvikling har koden, ingen har bounces', har I ikke et mail-setup. I har tre antagelser.
DNS først — skabelonen til sidst
Start i zonens records, ikke i HTML. Find det From, brugeren ser. Find hvilken tjeneste der faktisk sender. Tjek at SPF peger på den tjeneste — og ikke på fem historiske, I har glemt. Tjek at DKIM-nøglen matcher det, udbyderen viser nu, ikke det I satte for to år siden. Tjek DMARC: p=none er et spejl, ikke en politik. Det er fint mens I kigger. Det er ikke 'vi har DMARC', hvis I aldrig rykker videre, og aldrig læser rapporterne.
Derefter headers i en rigtig indbakke. Ikke jeres egen, der allerede kender jer. En frisk adresse hos en stor udbyder. Læs Authentication-Results. Læs, om SPF og DKIM passer, og om DMARC gav pass. Læs, hvilket domæne der underskrev. Hvis I ikke kan forklare en fail, er skabelon-ændringen gætværk.
Først til sidst copy og layout. Ja, 'RE: faktura' og store billeder uden tekst kan skade. Ja, en URL der ikke matcher afsenderen, ser ud som phishing. Men et pænt brev på et domæne, I ikke må sende som, er stadig et brev, filteret har lov at tvivle på. Omvendt kan en kedelig, kort reset-mail på et aligned domæne lande, selv om den er grim.
List-unsubscribe, åbne-pixels og sporings-domæner hører til marketing. På en reset er de støj, og ofte et signal I ikke vil sende. Hold transaktionsmail kort: hvorfor den kom, hvad brugeren skal gøre, en vej der ikke kræver at de logger ind for at læse selve advarslen. Gem kampagnen til det rør, I har samtykke til.
Det teams typisk gør — og det der faktisk flytter leveringen
Det der typisk bliver prøvet først
Samme identitet, ny skal, samme tvivl i indbakken.
- Ny skabelon, nyt logo, ny emnelinje
- Skift af udbyder uden at røre DNS
- Samme From til nyhedsbrev og password-reset
- 'Kig i spam' som den faste support-sætning
Det der typisk flytter noget
Identitet I ejer, og et rør I kan forklare.
- From på et domæne I ejer, aligned med DKIM
- SPF der kun nævner dem, der faktisk sender
- Reset og kampagne på adskilt omdømme
- Bounces og klager et sted, udvikling faktisk ser
En eftermiddags tjek, før I skifter udbyder
Uden den her rækkefølge skifter I badge og beholder fail'en.
- 01
Skriv hver mail, produktet skylder
Reset, magic link, invitation, kvittering, fejlet betaling, 'din sag skiftede'. Én række pr. type: hvem sender, hvilket From, hvilket værktøj, om Stripe eller auth-leverandøren allerede gør det. Dobbelt-send er også et leveringsproblem.
- 02
Læs DNS som om I ikke stolede på panelet
SPF, DKIM, DMARC, og om MX og det I tror er 'jeres mail' overhovedet hører til samme historie. Et pænt dashboard-hak er ikke en record. Slå op udefra.
- 03
Send til en frisk indbakke og læs headers
Ikke 'det kom frem hos os'. En ny adresse, gerne to udbydere. Authentication-Results først. Spam-mappe er et symptom. Fail i headers er diagnosen.
- 04
Adskil kampagne og produkt — i From eller i underdomæne
mail.jeresdomæne.dk til produkt og hello.jeresdomæne.dk til nyhedsbrev er en ærlig start, hvis begge er aligned. Samme From til begge er hvordan reset arver en kampagne, I sendte i går.
- 05
Giv bounces en ejer i udvikling
En reset der never lander, skal kunne ses som en fejlet handling, ikke som en marketing-unsubscribe. Hvis kun et ESP-dashboard har tallet, opdager I det når supporten gør.
“Levering er ikke et tema. Det er at I kan underskrive som det navn, kunden ser — og slukke det rør, I ikke ejer.”
Stripe, auth og Next.js — samme pligt, forskellige steder I snyder jer selv
Stripe kan sende kvittering, faktura og 'opdater kort'. Det er ofte det rigtige. Så skal I ikke også sende en hjemmelavet 'tak for købet' fra et domæne, I ikke har sat DNS på. To mails om samme betaling er ikke bedre service. Det er to chancer for at den ene rammer spam og den anden forvirrer. Beslut hvem der ejer hver type. Skriv det ned. Sluk den, I ikke vil eje.
Auth-leverandører sender reset og invitation, medmindre I har bedt om at gøre det selv. At 'overtage' de mails uden at overtage DNS og bounce-håndtering er hvordan I får et pænere brev, der ikke lander. Hvis I selv sender magic link fra Next.js, er ruten og hemmeligheden jeres — og From og DKIM er det også. Et fetch til et ESP i en Route Handler er ikke et setup. Det er et kald, indtil zonens records matcher.
På Next.js er den typiske løgn at I har kontrollen, fordi I ejer repoet. En server action sender via et SDK, env peger på et testdomæne, og produktion arver et From, nogen satte i et dashboard. Eller I renderer en HTML-streng i React og glemmer at text-delen findes. Indbakker og tilgængelighed vil have en tekstkrop. Kontrolleret HTML er fint. HTML alene er et signal, spam-filtre kender.
WordPress-shops og 'et plugin der sender' fejler samme sted med et andet ansigt: WooCommerce eller et SMTP-plugin med en fælles nøgle, ingen DKIM, og en afsender der ligner webmaster@hosting. Tjekket er det samme. Inventar først. DNS bagefter. Skabelon til sidst. Et nyt plugin oven på en zone, I ikke ejer, er et fjerde rør.
Hvad I typisk bør gøre i den situation, I står i
Venstre er det, I typisk siger. Højre er det næste skridt, vi typisk anbefaler.
Situation
Reset rammer spam, og nogen vil skifte skabelon eller udbyder
Næste skridt
Læs headers og DNS først. Skift ikke rør, før I ved om identiteten fejler
Situation
Stripe sender kvittering, og I sender også en 'velkomst'
Næste skridt
Én mail pr. hændelse. Sluk den, I ikke kan underskrive — eller den, I ikke vil support'e
Situation
Nyhedsbrev og password-reset deler From
Næste skridt
Adskil omdømme. Produkt må ikke arve en kampagne, I sendte i går
Situation
Marketing ejer værktøjet, udvikling ejer koden, ingen ser bounces
Næste skridt
Én inventarliste. Én bounce-ejer i udvikling. Transaktion er produkt, ikke et nyhedsbrev
Situation
I overvejer et nyt ESP uden at have sendt til en frisk indbakke
Næste skridt
Send først. Læs Authentication-Results. Køb ikke et femte rør til en fail, I ikke har læst
Tjekliste før I siger 'vi sender transaktionsmail'
Hvis I mangler flere af punkterne, er sætningen et slide — ikke levering.
- Hver produkthændelse har én afsender, I kan nævne uden at åbne tre dashboards
- From står på et domæne I ejer, og DKIM/SPF/DMARC passer når I slår op udefra
- Reset og kampagne deler ikke omdømme — i praksis, ikke kun i et slide
- En frisk indbakke viser pass i headers, ikke kun 'det kom frem hos os'
- Bounces har en ejer i udvikling, ikke kun et tal i et marketing-UI
- I ved hvilke mails Stripe eller auth-leverandøren allerede sender — og I har slukket dubletter
Spørgsmål vi får igen og igen
Hvorfor rammer vores password-reset spam, når skabelonen er pæn?
Fordi filteret ikke køber jeres layout. Det køber om I må sende som det navn, I viser, og om andre mails fra samme identitet har opført sig som spam. Læs SPF, DKIM, DMARC og Alignment på en frisk adresse. Hvis de fejler, er farven på knappen ligegyldig. Hvis de passer, kig derefter på om I har blandet kampagne og reset, eller sendt fra et delt ESP-domæne I ikke ejer.
Er SPF, DKIM og DMARC nok?
De er minimum for at have en identitet, indbakken kan vurdere. De er ikke et frikort. Volume, klager, links der ikke matcher, og et From I lige har begyndt at bruge, tæller stadig. DMARC på p=none uden rapporter, I læser, er et spejl I har slået fra. Sæt records rigtigt. Læs dem udefra. Ryk politikken, når I tør — ikke som teater på dag ét, og ikke som noget I aldrig rører.
Må vi sende transaktionsmail fra det samme værktøj som nyhedsbrevet?
I må. I bør kun, hvis I kan skille omdømme og samtykke ad — andet From eller underdomæne, anden pool, anden afmelding. Et fælles 'campaigns plus password reset' er hvordan en sløv udsendelse tager døren ind med sig. To rør koster mere i setup og mindre i support. Ét rør koster omvendt.
Skal vi selv sende kvitteringer, når vi bruger Stripe?
Kun hvis I har en grund, Stripe-mailen ikke dækker — og kun hvis I så slukker den anden. To kvitteringer er ikke tydeligere. Det er to afsendere og et ekstra DNS-job. Mange produkter tager Stripes kvittering og bruger deres eget rør til reset og invitation. Det er en ærlig fordeling. 'Vi sender også en pæn tak' er det, der typisk rammer spam.
Hvornår er et nyt ESP det rigtige næste skridt?
Når identiteten passer, og I stadig har et rør-problem: I kan ikke se bounces, I kan ikke skille transaktion fra kampagne, eller leverandøren I har, kan ikke underskrive jeres domæne ærligt. Det er ikke det rigtige næste skridt, når I ikke har læst headers. Skift værktøj efter diagnosen. Skift ikke fordi et slide lovede 'inbox placement' uden at I ved, hvad der fejler nu.
Hvis den vigtigste mail er den, kunden aldrig får
Lad os skille identitet, produkt og kampagne ad.
En eftermiddag med DNS og en frisk indbakke slår et nyt ESP, I køber for at få reset til at lande.
