Transactionele e-mails versturen via HubSpot vanaf je eigen domein: zo werkt het
Waarom Je Transactionele E-mails Misschien Mislukken Zonder Dat Je Het Doorhebt
Je besteedt uren aan het finetunen van je HubSpot workflows. Welkomstseries die zich over weken uitspreiden. Verlatende-winkelwagen-herinneringen. Wachtwoord-reset e-mails die daadwerkelijk worden geopend.
Maar hier is de ongemakkelijke waarheid: wanneer je klant die wachtwoord-reset e-mail ontvangt, kan zijn e-mailclient een waarschuwing tonen met de tekst "Gmail kon niet verifiëren dat yahoo.com dit bericht daadwerkelijk heeft verzonden."
Dat is geen goede reclame voor je merk.
HubSpot's systeem voor transactionele e-mails is solide — totdat je naar de authenticatie-headers kijkt. Standaard ondertekent HubSpot deze e-mails met hun eigen DKIM-sleutels, niet die van jou. En wanneer Google's authenticatiecontroles draaien, zien ze een mismatch: het Van-adres zegt jou@jeonderneming.com, maar de DKIM-handtekening zegt header.d=hubspot.com.
Dit is een DMARC-alignment-fout. En voor transactionele e-mails — de berichten die er het meest toe doen omdat gebruikers er daadwerkelijk op reageren — is dit een probleem.
Het Verschil Tussen Marketing en Transactionele E-mail
Voordat we iets oplossen, moeten we eerst duidelijkheid scheppen over wat we precies hebben.
HubSpot's marketing e-mails gaan via hun eigen verzendinfrastructuur. Ze hebben een heel team dat IP-reputatie, warming en sender-scores beheert. Voor bulk-campagnes werkt dit prima.
Transactionele e-mails zijn anders. Dit zijn één-op-één communicaties die worden geactiveerd door gebruikersacties: wachtwoord-resets, orderbevestigingen, formulierinzendingen, factuurontvangsten. Gebruikers verwachten dat deze rechtstreeks van jouw bedrijf komen. En e-mailclients behandelen ze anders — ze voeren striktere authenticatie uit omdat transactionele e-mails hoge prioriteit hebben voor phishing-aanvallen.
Wanneer HubSpot deze via hun infrastructuur verstuurt met hun handtekening, leen je hun reputatie in plaats van je eigen op te bouwen.
Introductie van MailKite: De E-mailidentiteit Van Je Domein
MailKite is een SMTP relay-service die tussen je applicatie en de ontvangende mailservers staat. Het belangrijkste kenmerk: het ondertekent elke uitgaande e-mail met jouw DKIM-sleutel, niet die van hen.
Dit betekent:
- DMARC-alignment slaagt. Je Van-domein komt overeen met je DKIM-handtekening.
- Jouw domeinreputatie groeit. Elke e-mail die via je domein wordt verzonden, draagt bij aan je verzendgeschiedenis.
- Volledige logging en analytics. Zie precies welke e-mails waarheen zijn gegaan, met delivery status.
- Retries en failovers. Als de server van een ontvanger tijdelijk niet beschikbaar is, regelt MailKite de retry-logica.
De installatie is verrassend eenvoudig.
Stapsgewijs: HubSpot Via Je Eigen Domein Routeren
Stap 1: Claim Je Domein in MailKite
Meld je aan voor MailKite en voeg je verzenddomein toe. Je hebt toegang nodig tot je DNS-instellingen (als je DNS ergens anders beheert, kost dit 5 minuten; als je NameOcean's DNS-beheer gebruikt, gaat dit nog sneller via ons dashboard).
MailKite geeft je drie DNS-records om te publiceren:
- Een MX-record voor inkomende e-mailroutering
- Een TXT-record voor SPF
- Een DKIM-record voor e-mailondertekening
Zodra deze zijn gepropageerd (meestal 5-30 minuten), is je domein geverifieerd.
Stap 2: Haal Je SMTP-Wachtwoorden Op
In het MailKite-dashboard maak je een SMTP-gebruiker aan. Kopieer het serveradres, poort en API-sleutel. Deze heb je nodig voor HubSpot.
Dit is wat je zoekt:
Server: smtp.mailkite.dev
Poort: 587
Gebruikersnaam: Je MailKite-gebruikersnaam
Wachtwoord: Je API-sleutel (begint met mk_live_)
Beveiliging: STARTTLS vereist
Stap 3: Configureer HubSpot's SMTP Relay
In HubSpot ga je naar Settings → Transactional Email. Je vindt de SMTP-configuratie onder je verzenddomein-instellingen.
Plak je MailKite-wachtwoorden. HubSpot verstuurt een test e-mail — controleer of je deze ontvangt.
Stap 4: Test Je Authenticatie-Headers
Sla deze stap niet over. Verstuur een test-transactionele e-mail via je HubSpot workflow. Open deze vervolgens in Gmail en check de headers.
Zoek naar dit:
Authentication-Results: mx.google.com;
dkim=pass header.d=jeonderneming.com;
spf=pass;
dmarc=pass
Alle drie moeten pass tonen. Als dkim header.d=hubspot.com toont, moet er iets in je configuratie worden aangepast. Controleer of je verzenddomein in HubSpot exact overeenkomt met je MailKite-verifiede domein.
SMTP vs. API: Wat Moet Je Gebruiken?
HubSpot biedt twee manieren om transactionele e-mail te versturen. Hier is de praktische uitsplitsing:
Gebruik SMTP wanneer:
- Je een eenvoudige configuratie wilt die automatisch voor alle HubSpot e-mails werkt
- Je verstuurt vanaf externe systemen (een Laravel-app, WordPress-plugin of custom CRM)
- Je MailKite's logging en retry-logica wilt voor elke e-mail
- je niet afhankelijk bent van HubSpot's open/click-tracking voor transactionele berichten
Gebruik de API wanneer:
- Je HubSpot's native open/click analytics nodig hebt voor transactionele e-mails
- Je wilt dat elke e-mail automatisch verschijnt in HubSpot's tijdlijn
- Je een custom integratie bouwt waarbij e-mailgebeurtenissen andere workflows triggeren
Het eerlijke antwoord? SMTP is makkelijker te onderhouden. Eenmaal geconfigureerd, wordt elke transactionele e-mail van HubSpot via MailKite gerouteerd zonder extra code. De API vereist dat je elke send-call moet bijwerken.
Bonus: Reacties Vastleggen En Doorsturen Naar HubSpot
Hier wordt het krachtig. Wanneer klanten reageren op je transactionele e-mails, moeten die reacties ergens naartoe. Met MailKite's inkomende routering kun je inkomende reacties POSTen naar een webhook.
Wil je die reacties gekoppeld aan de juiste contactpersoon in HubSpot? Hier is een Cloudflare Worker die dit afhandelt:
export default {
async fetch(request, env) {
if (request.method !== "POST") return new Response("OK");
const { from, subject, text } = await request.json();
// Zoek de matching contactpersoon in HubSpot
const searchRes = await fetch(
"https://api.hubapi.com/crm/v3/objects/contacts/search",
{
method: "POST",
headers: {
Authorization: "Bearer " + env.HUBSPOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
filterGroups: [{
filters: [{
propertyName: "email",
operator: "EQ",
value: from,
}]
}],
properties: ["email", "firstname", "lastname"],
}),
}
);
const { results } = await searchRes.json();
if (!results.length) return new Response('{"ok":true}', { status: 200 });
const contactId = results[0].id;
// Koppel de reactie als een notitie
await fetch(
"https://api.hubapi.com/crm/v3/objects/notes",
{
method: "POST",
headers: {
Authorization: "Bearer " + env.HUBSPOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
properties: {
hs_note_body: `Reply to: ${subject}\n\n${text}`,
hs_timestamp: Date.now(),
},
associations: [{
to: { id: contactId },
types: [{
associationCategory: "HUBSPOT_DEFINED",
associationTypeId: 202,
}],
}],
}),
}
);
return new Response('{"ok":true}', { status: 200 });
},
};
Nu wordt elke klantreactie een notitie op hun contactrecord in HubSpot — inclusief het oorspronkelijke onderwerp.
Het Grotere Plaatje: E-mail Is Onderdeel Van Je Domenstrategie
Dit gaat niet alleen over e-mail deliverability. Je domein is je digitale identiteit. Elke e-mail, elke DNS-lookup, elke authenticatiecheck bouwt of erodeert het vertrouwen in die identiteit.
Wanneer je transactionele e-mail via je eigen DKIM-ondertekende domein routed:
- Vertrouwen Gmail en Outlook je e-mails meer
- Groeit je sender reputation onafhankelijk van elk platform
- Zien klanten jouw merk, niet dat van een leverancier
- Wordt je domein waardevoller als asset
Bij NameOcean zien we klanten die domeinen behandelen als wegwerpartikelen versus degenen die ze begrijpen als infrastructuur. E-mailauthenticatie — DMARC, DKIM, SPF — is net zo fundamenteel als de uptime van je website.
Je transactionele e-mails zijn vaak de belangrijkste communicatie die je verstuurt. Ze verdienen dezelfde merkzorg als je landingspages en je product zelf.