AWS SES & SNS Setup Guide

Volledige stap-voor-stap handleiding om Amazon Simple Email Service (SES) en Simple Notification Service (SNS) te configureren voor pitit - Email Marketing.

~5 min met script ~30 min handmatig Beginner-vriendelijk Nederlands

Overzicht

Om pitit - Email Marketing te gebruiken voor het versturen van email campagnes, heb je een Amazon Web Services (AWS) account nodig. AWS biedt via Simple Email Service (SES) een betrouwbare en kosteneffectieve manier om bulk emails te versturen.

Wat ga je configureren?
IAM Gebruiker
API toegang tot AWS
Amazon SES
Email verzending
Amazon SNS
Bounce/complaint notificaties
Snelle start: Gebruik ons automatische setup script om alles in ~5 minuten te configureren via AWS CloudShell. Het script regelt stap 1 t/m 6 automatisch — je hoeft alleen nog DNS records toe te voegen.
Tip: AWS SES kost slechts $0.10 per 1.000 emails. Voor de meeste gebruikers betekent dit minder dan een paar euro per maand.
Belangrijk: Vereisten voor Amazon SES
Eigen domein vereist

Om e-mails te versturen via Amazon SES moet je een eigen domein bezitten (bijv. jouwbedrijf.nl). Dit domein moet worden geverifieerd via DNS records (DKIM, SPF en DMARC) voordat je in productie kunt gaan.

Domeinvalidatie bewijst aan Amazon dat jij de eigenaar bent van het domein waarvandaan je e-mails verstuurt. Dit is verplicht voor productie-toegang.

Gratis e-maildomeinen niet toegestaan

Het gebruik van gratis e-maildomeinen als afzenderadres is niet mogelijk. De volgende domeinen worden niet ondersteund door Amazon SES:

gmail.com outlook.com hotmail.com yahoo.com live.com icloud.com mail.com aol.com protonmail.com ziggo.nl kpnmail.nl

Deze domeinen zijn eigendom van derden en kunnen niet door jou worden geverifieerd in Amazon SES. Je hebt een domein nodig waarvan je de DNS records kunt beheren.

Productie-toegang vereist: Standaard staat je AWS SES account in sandbox modus, waarmee je alleen naar vooraf geverifieerde e-mailadressen kunt sturen. Om naar al je abonnees te kunnen mailen, moet je productie-toegang aanvragen bij AWS. Hiervoor is domeinvalidatie een vereiste.
Populair

Geen zin om dit zelf te doen?

Wij regelen de complete AWS setup voor je

Laat ons team de volledige Amazon SES en SNS configuratie voor je verzorgen. Binnen 24-48 uur is alles klaar om te gebruiken.

  • Complete AWS SES configuratie in jouw account
  • Domein verificatie met DKIM, SPF en DMARC
  • SNS notificaties voor bounces en complaints
  • Webhook koppeling met pitit - Email Marketing
  • Productie-toegang aanvraag bij AWS
  • Test om te controleren of alles werkt

Eenmalige setup

€49,-

Inclusief BTW

GRATIS bij jaarabonnement!

Aanvragen
24-48 uur Veilig

€49,- los of gratis bij jaarabonnement (€90,-)

Vereisten

  • Een geldig e-mailadres (voor AWS account registratie)
  • Een creditcard of betaalkaart (AWS vereist dit, maar je betaalt alleen wat je gebruikt)
  • Het e-mailadres of domein dat je wilt gebruiken als afzender
  • Toegang tot DNS instellingen van je domein (optioneel, maar aanbevolen)

Automatische Setup Aanbevolen

De snelste manier om AWS SES en SNS te configureren is met ons automatisch setup script. Dit script maakt alle benodigde AWS resources aan in één keer — geen handmatig klikken door de AWS Console nodig.

Het script regelt automatisch:
  • IAM gebruiker met de juiste SES verzendrechten
  • SES domein-identiteit met DKIM verificatie
  • Configuration Set voor open/click tracking
  • SNS Topic voor bounce- en complaint-notificaties
  • Webhook koppeling naar jouw pitit - Email Marketing account
  • Alle benodigde DNS records worden getoond
Optie A: Via AWS CloudShell Snelste

AWS CloudShell is een browser-gebaseerde terminal die al geconfigureerd is met jouw AWS credentials. Je hoeft niets te installeren.

1. Genereer een CloudShell link

Ga naar pitit - Email Marketing → Instellingen en klik bij "Automatische AWS Setup" op Genereer Link. Je krijgt een commando dat 30 minuten geldig is.

2. Open AWS CloudShell

Log in op de AWS Console en open CloudShell (klik op het icoon rechtsboven in de AWS Console).

3. Plak het commando en druk op Enter

Het commando downloadt het gepersonaliseerde script en voert het uit. Het script ziet er uit als:

# Voorbeeld — kopieer het echte commando vanuit Instellingen
curl -sS 'https://pitit.eu/api/aws-setup-script.php?token=...' \
  -o setup-pitit.sh && chmod +x setup-pitit.sh && ./setup-pitit.sh
4. Bevestig de instellingen

Het script toont een overzicht van je configuratie (domein, regio, webhook URL) en vraagt om bevestiging. Typ j om door te gaan.

5. Voeg DNS records toe

Na afronding toont het script de DNS records (TXT, CNAME, SPF) die je moet toevoegen bij je domein-provider (bijv. Cloudflare, TransIP, Versio). Dit is de enige handmatige stap.

6. Voer credentials in

Het script toont de Access Key en Secret Key. Kopieer deze en voer ze in bij pitit - Email Marketing → Instellingen → AWS SES.

Veiligheid: De CloudShell link bevat een tijdelijk token dat 30 minuten geldig is. Na gebruik of verlopen is de link onbruikbaar. Het script zelf wordt gegenereerd op basis van jouw account-instellingen en bevat geen wachtwoorden.

Optie B: Script downloaden en lokaal uitvoeren

Als je liever lokaal werkt of geen CloudShell wilt gebruiken, kun je het script ook downloaden:

  1. Ga naar pitit - Email Marketing → Instellingen en klik op Download .sh bestand
  2. Zorg dat AWS CLI geïnstalleerd is en geconfigureerd met aws configure
  3. Voer het script uit:
    chmod +x setup-pitit-aws-*.sh
    ./setup-pitit-aws-*.sh
Tip: Het script is idempotent — je kunt het veilig meerdere keren uitvoeren. Bestaande resources worden overgeslagen.

Liever alles handmatig configureren? Geen probleem — volg de stappen hieronder.

Naar handmatige stappen

Handmatige Setup Voor experts of als het automatische script niet beschikbaar is

1 AWS Account Aanmaken

Als je nog geen AWS account hebt, maak er dan een aan:

Ga naar AWS

Open aws.amazon.com en klik op "Create an AWS Account"

Vul je gegevens in

Voer je e-mailadres, wachtwoord en accountnaam in. Kies voor een "Personal" account tenzij je een bedrijf vertegenwoordigt.

Voeg betaalmethode toe

AWS vereist een creditcard voor verificatie. Je wordt pas gefactureerd als je de gratis tier overschrijdt.

Verifieer je identiteit

AWS stuurt een verificatiecode naar je telefoon.

Kies een support plan

Selecteer "Basic Support - Free" - dit is voldoende voor de meeste gebruikers.

Gefeliciteerd! Je hebt nu een AWS account. Log in op de AWS Console.

2 IAM Gebruiker Aanmaken

Belangrijk: Gebruik nooit je root account credentials. Maak altijd een aparte IAM gebruiker aan voor applicaties.
Open IAM Console

Ga naar console.aws.amazon.com/iam of zoek naar "IAM" in de AWS Console.

Maak een nieuwe gebruiker

Klik op "Users" in het linkermenu, dan "Create user".

IAM Console → Users → Create user
Gebruikersnaam instellen

Geef de gebruiker een duidelijke naam, bijvoorbeeld: pitit---email-marketing-ses-user

Permissies instellen

Kies "Attach policies directly" en zoek naar "AmazonSESFullAccess". Vink deze aan.

Voor extra beveiliging kun je een custom policy maken met alleen de benodigde rechten. Zie het voorbeeld hieronder.
Access Keys aanmaken

Na het aanmaken van de gebruiker, klik op de gebruikersnaam, ga naar "Security credentials" en klik op "Create access key".

Kies "Application running outside AWS" als use case.

Keys opslaan

BELANGRIJK: Kopieer en bewaar de Access Key ID en Secret Access Key veilig. De Secret Key wordt maar één keer getoond!

Aanbevolen IAM Policy (optioneel)

Voor maximale beveiliging kun je deze minimale policy gebruiken:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ses:SendEmail", "ses:SendRawEmail", "ses:GetSendQuota", "ses:GetSendStatistics" ], "Resource": "*" } ] }

3 Amazon SES Configureren

Open SES Console

Ga naar console.aws.amazon.com/ses

Kies de juiste regio

Selecteer rechtsboven een regio dicht bij je doelgroep. Voor Europa is eu-central-1 (Frankfurt) of eu-west-1 (Ireland) aan te raden.

Let op: Onthoud welke regio je kiest! Je moet dezelfde regio gebruiken in pitit - Email Marketing.
Sandbox Mode

Nieuwe SES accounts starten in Sandbox mode. Dit betekent dat je alleen naar geverifieerde e-mailadressen kunt sturen. Later vraag je productie-toegang aan.

4 Domein Verificatie

Eigen domein is verplicht. Amazon SES vereist een geverifieerd domein om productie-toegang aan te vragen. Zonder domeinverificatie kun je alleen naar geverifieerde e-mailadressen versturen (sandbox-modus) en is de tool niet bruikbaar voor campagnes.

Bij domeinverificatie bewijs je aan Amazon dat jij de eigenaar bent van het domein waarvandaan je e-mails verstuurt (bijv. jouwbedrijf.nl). Na verificatie kun je vanaf elk adres @jouwdomein.nl verzenden.

Domein verifiëren in SES
  1. Ga naar SES Console → Verified identities
  2. Klik op "Create identity"
  3. Selecteer "Domain"
  4. Voer je domein in (bijv. jouwbedrijf.nl)
  5. Vink aan:
    • "Use a custom MAIL FROM domain" (optioneel maar aanbevolen)
    • "Enable DKIM signing" (verplicht voor productie)
  6. Klik op "Create identity"
DNS Records toevoegen

Na het aanmaken toont AWS de DNS records die je moet toevoegen bij je domeinprovider (bijv. Cloudflare, TransIP, Versio):

Type Naam Waarde Doel
CNAME xxxxx._domainkey.jouwdomein.nl xxxxx.dkim.amazonses.com DKIM verificatie (3x)
TXT _amazonses.jouwdomein.nl (verificatietoken) Domein eigendom
MX mail.jouwdomein.nl feedback-smtp.eu-central-1.amazonses.com Custom MAIL FROM
TXT mail.jouwdomein.nl v=spf1 include:amazonses.com ~all SPF record
Tip: DNS wijzigingen kunnen tot 72 uur duren om te propageren, maar meestal is het binnen een uur klaar. Je kunt de status volgen in de SES Console bij "Verified identities".
DMARC record (aanbevolen)

Voeg ook een DMARC record toe voor optimale deliverability:

# DNS TXT record voor _dmarc.jouwdomein.nl
v=DMARC1; p=quarantine; rua=mailto:dmarc@jouwdomein.nl
Na succesvolle verificatie verschijnt een groen vinkje bij je domein in de SES Console. Je kunt nu vanaf elk adres @jouwdomein.nl e-mails versturen.

Niet geschikt voor productie. Met alleen een geverifieerd e-mailadres blijf je in de SES sandbox: je kunt dan alleen naar andere geverifieerde adressen versturen (max. 200 per dag). Voor campagnes heb je altijd domeinverificatie nodig.

Als je alleen even wilt testen of SES werkt:

  1. Ga naar SES Console → Verified identities
  2. Klik op "Create identity"
  3. Selecteer "Email address"
  4. Voer je e-mailadres in (bijv. nieuws@jouwbedrijf.nl)
  5. Klik op "Create identity"
  6. Open je e-mail en klik op de verificatielink van AWS

Na het testen moet je alsnog je domein verifiëren (hierboven) om productie-toegang aan te vragen.

5 SNS Topic Aanmaken

Amazon SNS (Simple Notification Service) stuurt bounce en complaint notificaties naar pitit - Email Marketing, zodat ongeldige e-mailadressen automatisch worden gemarkeerd.

Open SNS Console

Ga naar console.aws.amazon.com/sns

Zorg dat je in dezelfde regio zit als je SES configuratie!
Maak een nieuw Topic

Klik op "Topics" in het linkermenu, dan "Create topic".

Topic configureren
  • Type: Standard
  • Name: pitit---email-marketing-ses-notifications
  • Display name: pitit - Email Marketing SES

Klik op "Create topic".

Topic ARN kopiëren

Na het aanmaken zie je de Topic ARN. Dit is een string zoals arn:aws:sns:eu-central-1:123456789:ses-notifications. Je hebt deze nodig in de volgende stap.

6 Webhook Koppelen

Nu gaan we SNS koppelen aan pitit - Email Marketing via een webhook.

A. SNS Subscription aanmaken
Open je SNS Topic

Klik op het topic dat je zojuist hebt aangemaakt.

Maak een Subscription

Klik op "Create subscription".

Configureer de subscription
  • Protocol: HTTPS
  • Endpoint: Je webhook URL uit pitit - Email Marketing
    Vind je webhook URL in pitit - Email Marketing onder Instellingen → Webhook URL
Bevestig de subscription

AWS stuurt automatisch een bevestigingsverzoek naar je webhook. pitit - Email Marketing bevestigt dit automatisch. De status verandert van "Pending confirmation" naar "Confirmed".

B. SES koppelen aan SNS
Ga naar SES Verified Identities

Open je geverifieerde e-mail of domein in de SES Console.

Open Notifications tab

Klik op het tabblad "Notifications".

Configureer Feedback notifications

Klik op "Edit" bij Feedback notifications en stel in:

  • Bounce feedback: Je SNS topic selecteren
  • Complaint feedback: Je SNS topic selecteren
  • Delivery feedback: Je SNS topic selecteren (optioneel)
Gefeliciteerd! Je webhook is nu gekoppeld. Bounces en complaints worden automatisch verwerkt.

7 Testen

Credentials invoeren
  1. Ga naar pitit - Email Marketing → Instellingen
  2. Vul bij AWS SES Instellingen in:
    • AWS Regio (bijv. eu-central-1)
    • Access Key ID
    • Secret Access Key
  3. Klik op "Opslaan"
  4. Klik op "Test Verbinding" om te controleren of de credentials werken
Webhook testen
  1. Ga naar Webhook Logs in pitit - Email Marketing
  2. Klik op "Test Webhook"
  3. Je zou een succesmelding moeten zien
Test e-mail versturen
  1. Maak een testgroep met je eigen e-mailadres
  2. Maak een eenvoudige testcampagne
  3. Verstuur de campagne naar je testgroep
  4. Controleer of je de e-mail ontvangt
Sandbox limitatie: In sandbox mode kun je alleen naar geverifieerde e-mailadressen sturen. Voeg je test e-mailadressen toe als verified identities in SES.

Productie Toegang Aanvragen

Om naar niet-geverifieerde e-mailadressen te kunnen sturen, moet je productie-toegang aanvragen bij AWS.

Vereisten voor productie-toegang
  • Domeinvalidatie is verplicht - Je moet een eigen domein hebben geverifieerd met DKIM, SPF en DMARC records
  • Eigen domein vereist - Gratis e-maildomeinen (gmail.com, outlook.com, hotmail.com, etc.) worden niet geaccepteerd
  • Bounce/complaint handling - SNS notificaties moeten geconfigureerd zijn (stap 5 & 6)
Open SES Console

Ga naar Account dashboard in de SES Console.

Request production access

Klik op "Request production access".

Vul het formulier in
  • Mail type: Transactional (of Marketing, afhankelijk van je gebruik)
  • Website URL: Je website adres
  • Use case description: Beschrijf waarvoor je SES gaat gebruiken
Wacht op goedkeuring

AWS beoordeelt je aanvraag binnen 24-48 uur. Je ontvangt een e-mail zodra je account is goedgekeurd.

Tip voor snellere goedkeuring:
  • Wees specifiek over je use case
  • Vermeld dat je een opt-in lijst gebruikt
  • Leg uit hoe je bounces en complaints afhandelt
  • Geef aan dat je een unsubscribe link in je emails hebt

Problemen Oplossen

  • Controleer of je Access Key ID en Secret Key correct zijn gekopieerd (geen extra spaties)
  • Zorg dat de IAM gebruiker de juiste permissies heeft (AmazonSESFullAccess)
  • Controleer of je de juiste AWS regio hebt geselecteerd

  • Sandbox mode: In sandbox kun je alleen naar geverifieerde adressen sturen
  • Controleer je spam/junk folder
  • Bekijk de campaign details in pitit - Email Marketing voor foutmeldingen
  • Check de SES Console voor bounce/complaint meldingen

  • Controleer of je webhook URL correct is (inclusief https://)
  • Zorg dat je website bereikbaar is vanaf internet (geen localhost)
  • Check de Webhook Logs in pitit - Email Marketing voor inkomende requests
  • Probeer de subscription te verwijderen en opnieuw aan te maken

  • DNS wijzigingen kunnen tot 72 uur duren om te propageren
  • Controleer of de CNAME records exact zijn overgenomen (geen typefouten)
  • Gebruik een tool zoals MXToolbox om je DNS records te verifiëren
  • Sommige DNS providers vereisen dat je de trailing dot (.) weglaat

  • Geef meer details over je use case
  • Vermeld expliciet dat je een opt-in mailinglist hebt
  • Leg uit hoe je bounces en complaints afhandelt (via SNS webhook)
  • Geef aan dat je emails een unsubscribe link bevatten
  • Je kunt een nieuwe aanvraag indienen met meer informatie

Nee, dit is niet mogelijk.

Amazon SES vereist dat je het domein van je afzenderadres verifieert via DNS records (DKIM, SPF, DMARC). Omdat je geen eigenaar bent van domeinen als gmail.com, outlook.com, hotmail.com etc., kun je deze DNS records niet instellen.

Niet-ondersteunde domeinen (voorbeelden):

gmail.com, googlemail.com, outlook.com, hotmail.com, hotmail.nl, live.com, live.nl, msn.com, yahoo.com, yahoo.nl, icloud.com, me.com, aol.com, mail.com, protonmail.com, proton.me, ziggo.nl, kpnmail.nl, xs4all.nl, en alle andere domeinen die niet van jou zijn.

Oplossing:
  • Registreer een eigen domein (bijv. bij TransIP, Versio, of Namecheap)
  • Een .nl domein kost vanaf ~€5/jaar, een .com domein vanaf ~€10/jaar
  • Verifieer het domein in Amazon SES (zie Stap 4: Domein verifiëren)
  • Gebruik vervolgens een adres als info@jouwdomein.nl of newsletter@jouwdomein.nl

Nog steeds problemen?

Bekijk de officiële AWS documentatie of neem contact met ons op.