Skip to content
WeZend

Transaktionel email

Sådan skifter du fra SendGrid

Flyt transaktionel email uden at tabe en eneste kvittering: suppression-grupper over først, parallel domæne-autentificering, v3 mail/send-diffen og event-webhook-remapping.

En halv dags kode; DNS + en forsigtig cutover sætter tempoet (cirka en uge)

SendGridWeZend
POST /v3/mail/sendPOST /v1/messages/send (channel: email)
API key (Bearer)X-API-Key-header
Domain authenticationEmail-domæner + live DNS-verify
Dynamic templates ({{handlebars}})Skabeloner + variabler
Suppression groups + global suppressionsSuppressionsliste + præference-emner
Event WebhookLeverings-webhooks (signerede)
Marketing CampaignsKampagner + journeys

Indsatsen, sagt ligeud

Transaktionel email er nådesløs: en tabt password-nulstilling er en supportsag, en tabt kvittering er et juridisk problem. Så denne guide er bygget om ét princip — begge leverandører forbliver fuldt operationelle, indtil WeZend har leveret jeres rigtige trafik i dage, ikke minutter.

Trin 1 — Suppressioner og bounces først

Eksportér SendGrids suppressionsdata: globale afmeldinger, afmeldinger pr. gruppe, bounces, spamrapporter og ugyldige adresser (alt kan downloades under Suppressions i SendGrid-konsollen, eller via deres API). Importér det hele i WeZend (Målgruppe → Suppressioner, POST /v1/account/unsubscribes/api/import). Bouncede og klagende adresser må aldrig genforsøges fra en frisk platform — det er sådan, nye domæner bliver brændt af.

Bruger I suppression-grupper (nyhedsbrev vs. produktnyt), så genskab dem som præferencecenter-emner — samme koncept, og abonnenterne styrer dem på én hostet side.

Trin 2 — Autentificér jeres domæne parallelt

Tilføj jeres domæne under Indstillinger → Email-domæner. WeZends DKIM-selector sameksisterer med SendGrids — I fjerner ikke SendGrids DNS-records endnu. Begge platforme står fuldt autentificeret side om side, og det er dét, der gør en gradvis, reversibel cutover mulig. Live DNS-checkeren bekræfter hver record.

Trin 3 — Kode-diffen

SendGrid:

await fetch("https://api.sendgrid.com/v3/mail/send", {
  method: "POST",
  headers: { Authorization: `Bearer ${SENDGRID_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({
    personalizations: [{ to: [{ email: "anna@example.com" }], dynamic_template_data: { name: "Anna" } }],
    from: { email: "receipts@mail.acme.com" },
    template_id: "d-abc123",
  }),
});

WeZend — fladere body, samme idé:

await fetch("https://api.wezend.com/v1/messages/send", {
  method: "POST",
  headers: { "X-API-Key": process.env.WEZEND_API_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({
    to: "anna@example.com",
    channel: "email",
    sender: "receipts@mail.acme.com",
    template_id: "tpl_kvittering",
    variables: { name: "Anna" },
    category: "transactional",
    webhook_url: "https://api.yourapp.com/email-events",
  }),
});

Portér jeres dynamic templates først: kopiér hver skabelons HTML ind i en WeZend-skabelon — Handlebars-{{name}}-syntaksen følger næsten uændret med (conditionals bliver til skabelon-defaults eller separate skabeloner; de fleste transaktionelle skabeloner bruger ingen).

Trin 4 — Remap Event Webhooken

SendGrids Event Webhook-events mapper til WeZends leverings-webhooks: processed→queued, delivered→delivered, bounce/dropped→failed (årsag vedhæftet), open→opened, click→clicked, spamreport→complaint, unsubscribe→unsubscribed. Verificér X-WeZend-Signature-headeren i stedet for SendGrids signed-webhook-ECDSA — webhook-doc'en har tjekket på fem linjer. Bounces og klager føder desuden suppressionslisten automatisk, så jeres eget bogholderi kan skrumpe.

Trin 5 — Cut over pr. mailstrøm

Migrér én strøm ad gangen, lavest risiko først: interne notifikationer → brugervendte men genoprettelige (digests) → kritiske (kvitteringer, password-nulstillinger). Sammenlign ved hvert trin leverings- og bounce-rater i deliverability-rapporten mod jeres SendGrid-baseline. Transaktionel volumen varmer meget hurtigere op end marketingvolumen — modtagerne forventer og åbner disse mails — så en uges faseopdelt cutover er typisk nok.

Hold SendGrid i live en hel uge efter 100% cutover, fjern så deres DNS-records og luk.

Bruger I også Marketing Campaigns

Følg Mailchimp-playbooken for marketing-siden: kontakter i den sikre rækkefølge, kampagner som kampagner, automatiseringer som journeys. Den behagelige overraskelse: transaktionelt og marketing deler derefter én suppressionsliste, ét domæne-omdømme og én saldo.

Go-live-tjekliste

  • Alle SendGrid-suppressioner eksporteret (globale, grupper, bounces, spamrapporter) og importeret
  • Suppression-grupper genskabt som præferencecenter-emner
  • Domæne autentificeret i WeZend — SendGrids DNS-records ikke fjernet
  • Dynamic templates porteret; variabler render med defaults
  • Event-webhook-forbruger remappet og signatur-verificeret
  • Strømme flyttet med lavest risiko først, rater sammenlignet pr. trin
  • SendGrid holdt i live en uge efter 100%, derefter DNS ryddet op

Ofte stillede spørgsmål om skiftet fra SendGrid

Understøtter I dedikerede IP'er ligesom SendGrid?

For de fleste afsendere slår velplejet delt infrastruktur plus jeres eget autentificerede domæne en forsømt dedikeret IP — det er domæne-omdømmet, indbakkeudbyderne vægter højest. Berettiger jeres volumen reelt dedikeret afsendelsesinfrastruktur, så kontakt os, og vi sætter det op som del af onboardingen.

Vores kvitteringer må ikke fejle i bare en time. Er det realistisk?

Ja — det er præcis dét, cutover strøm-for-strøm med begge domæner autentificeret parallelt er til. Der findes intet øjeblik, hvor den gamle vej er slukket og den nye ubevist: du flytter en strøm, ser den levere, og flytter så den næste. Rollback er en konfigurationsændring, ikke en DNS-ventetid.

Kom gratis i gang på minutter

  • Intet kreditkort
  • EU-datalagring
  • 6 kanaler, ét API
  • GDPR indbygget

Én platform. Hver eneste kundeinteraktion.

Erstat dit kludetæppe af messaging-API'er, CDP og automatiseringsværktøjer med én engagement-platform bygget til skala.

Intet kreditkort · EU-datalagring · 99,99 % oppetids-SLA