Tutorial
E-mail versturen met Node.js
Met de Node-SDK van Wesender verstuur je transactionele e-mail in een paar regels. In deze tutorial doorloop je installatie, je eerste verzending, een herbruikbare functie en nette foutafhandeling.
Wat je nodig hebt
- Een Wesender-account en een API-key
- Een geverifieerd verzenddomein (zie de DNS-gids)
- Node.js geïnstalleerd
Node.js Python
1
Stap 1
SDK installeren
terminal
npm install @wesender/node 2
Stap 2
Je eerste e-mail versturen
send.ts
import { Wesender } from "@wesender/node"
const ws = new Wesender(process.env.WS_API_KEY!)
const result = await ws.emails.send({
from: "noreply@joudomein.nl",
to: "klant@voorbeeld.nl",
subject: "Welkom",
html: "<p>Bedankt voor je registratie.</p>",
})
console.log(result) // { id: "em_01hw...", status: "queued" } Bewaar je API-key in
WS_API_KEY als omgevingsvariabele. Zet hem nooit in je broncode of in versiebeheer. 3
Stap 3
Een herbruikbare functie
In de praktijk maak je per berichttype een aparte functie, zodat je de opmaak en het type op één plek beheert:
email/welkomst.ts
import { Wesender } from "@wesender/node"
const ws = new Wesender(process.env.WS_API_KEY!)
export async function welkomstmail(naam: string, to: string) {
return ws.emails.send({
from: "noreply@joudomein.nl",
to,
subject: `Welkom, ${naam}!`,
html: `<p>Hoi ${naam}, leuk dat je er bent.</p>`,
})
} 4
Stap 4
Foutafhandeling
Vang fouten af zodat een mislukte verzending je flow niet breekt:
gebruik
try {
await welkomstmail("Sam", "sam@voorbeeld.nl")
} catch (err) {
console.error("Versturen mislukt:", err)
// log de fout en beslis of je het later opnieuw probeert
} Veelgestelde vragen
Vragen
Heb ik Nodemailer nodig?
Nee. Met de SDK doe je een directe API-aanroep en heb je volledige controle. Wil je toch via SMTP, dan kun je Nodemailer naar de Wesender SMTP-relay wijzen.
Waar bewaar ik mijn API-key?
In een omgevingsvariabele zoals WS_API_KEY, nooit in je broncode of in versiebeheer. Gebruik .env lokaal en je hosting-secrets in productie.
Werkt dit ook met CommonJS (require)?
Ja. Importeer met const { Wesender } = require('@wesender/node') en de rest van de code blijft gelijk.
Volgende stappen
Verder bouwen
Klaar om te beginnen?
3.000 e-mails per maand gratis. Data in Europese datacenters.