Skip to content
WeZend

Transaktionell e-post

Så byter du från SendGrid

Flytta transaktionell e-post utan att tappa ett enda kvitto: spärrgrupper över först, parallell domänautentisering, v3 mail/send-diffen och event-webhook-ommappning.

En halv dags kod; DNS + en försiktig övergång sätter takten (ungefär en vecka)

SendGridWeZend
POST /v3/mail/sendPOST /v1/messages/send (channel: email)
API key (Bearer)X-API-Key-header
Domain authenticationE-postdomäner + live DNS-verifiering
Dynamic templates ({{handlebars}})Mallar + variabler
Suppression groups + global suppressionsSpärrlista + preferensämnen
Event WebhookLeverans-webhooks (signerade)
Marketing CampaignsKampanjer + resor

Vad som står på spel, rakt ut

Transaktionell e-post är obarmhärtig: en tappad lösenordsåterställning är ett supportärende, ett tappat kvitto är ett juridiskt problem. Den här guiden är därför byggd kring en enda princip — båda leverantörerna förblir fullt operativa tills WeZend har levererat er riktiga trafik i dagar, inte minuter.

Steg 1 — Spärrningar och studsar först

Exportera SendGrids spärrdata: globala avregistreringar, avregistreringar per grupp, studsar (bounces), spamanmälningar och ogiltiga adresser (allt kan laddas ner under Suppressions i SendGrid-konsolen, eller via deras API). Importera alltihop till WeZend (Målgrupp → Spärrningar, POST /v1/account/unsubscribes/api/import). Studsade och klagande adresser får aldrig testas om från en ny plattform — det är så färska domäner bränns.

Om ni använder spärrgrupper (nyhetsbrev kontra produktnyheter), återskapa dem som ämnen i preferenscentret — samma koncept, och prenumeranterna styr dem på en enda hostad sida.

Steg 2 — Autentisera er domän parallellt

Lägg till er domän under Inställningar → E-postdomäner. WeZends DKIM-selektor samexisterar med SendGrids — ni tar inte bort SendGrids DNS-poster än. Båda plattformarna står fullt autentiserade sida vid sida, och det är just det som gör en gradvis, reversibel övergång möjlig. Live-DNS-kontrollen bekräftar varje post.

Steg 3 — Koddiffen

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 — plattare body, samma 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_kvitto",
    variables: { name: "Anna" },
    category: "transactional",
    webhook_url: "https://api.yourapp.com/email-events",
  }),
});

Porta era dynamiska mallar först: kopiera varje malls HTML in i en WeZend-mall — Handlebars-syntaxen {{name}} följer med nästan oförändrad (villkorssatser blir mall-defaults eller separata mallar; de flesta transaktionella mallar använder inga).

Steg 4 — Mappa om Event Webhook

SendGrids Event Webhook-händelser mappar mot WeZends leverans-webhooks: processed→queued, delivered→delivered, bounce/dropped→failed (orsak bifogad), open→opened, click→clicked, spamreport→complaint, unsubscribe→unsubscribed. Verifiera headern X-WeZend-Signature i stället för SendGrids signed-webhook-ECDSA — webhook-dokumentationen har kontrollen på fem rader. Studsar och klagomål matar dessutom spärrlistan automatiskt, så er egen bokföring kan krympa.

Steg 5 — Gå över per e-postström

Migrera en ström i taget, lägst risk först: interna notiser → användarvända men återhämtningsbara (sammandrag) → kritiska (kvitton, lösenordsåterställningar). Jämför vid varje steg leverans- och studsfrekvens i leveransrapporten mot er SendGrid-baslinje. Transaktionell volym värms upp mycket snabbare än marknadsföringsvolym — mottagarna förväntar sig och öppnar dessa mejl — så en veckas stegvis övergång räcker oftast.

Håll SendGrid vid liv en hel vecka efter 100% övergång, ta sedan bort deras DNS-poster och stäng.

Om ni också använder Marketing Campaigns

Följ Mailchimp-spelboken för marknadsföringssidan: kontakter i den säkra ordningen, kampanjer som kampanjer, automatiseringar som resor. Den trevliga överraskningen: transaktionellt och marknadsföring delar därefter en spärrlista, en vy över domänens rykte och ett saldo.

Go-live-checklista

  • Alla SendGrid-spärrningar exporterade (globala, grupper, studsar, spamanmälningar) och importerade
  • Spärrgrupper återskapade som ämnen i preferenscentret
  • Domänen autentiserad i WeZend — SendGrids DNS-poster kvar
  • Dynamiska mallar portade; variabler renderar med standardvärden
  • Event-webhook-konsumenten ommappad och signaturverifierad
  • Strömmar överflyttade med lägst risk först, frekvenser jämförda per steg
  • SendGrid hållet vid liv en vecka efter 100%, därefter DNS uppstädat

Vanliga frågor om bytet från SendGrid

Stödjer ni dedikerade IP-adresser som SendGrid?

För de flesta avsändare slår välskött delad infrastruktur plus er egen autentiserade domän en försummad dedikerad IP — det är domänens rykte som inkorgsleverantörerna väger tyngst. Om er volym verkligen motiverar dedikerad sändningsinfrastruktur, hör av er så sätter vi upp det som en del av onboardingen.

Våra kvitton får inte fallera ens en timme. Är det realistiskt?

Ja — det är precis vad övergången ström för ström med båda domänerna autentiserade parallellt är till för. Det finns aldrig ett ögonblick där den gamla vägen är avstängd och den nya obeprövad: ni flyttar en ström, ser den leverera och flyttar sedan nästa. Rollback är en konfigurationsändring, inte en väntan på DNS.

Kom igång gratis på minuter

  • Inget kreditkort
  • EU-datalagring
  • 6 kanaler, ett API
  • GDPR inbyggt

En plattform. Varje kundinteraktion.

Ersätt ditt lapptäcke av meddelande-API:er, CDP och automationsverktyg med en engagemangsplattform byggd för skala.

Inget kreditkort · EU-datalagring · 99,99 % drifttids-SLA