Terug naar hoofdinhoud

Problemen met e-mail oplossen in Joomla

28 juni 2026

Vroeg of laat stuurt een eigenaar van een Joomla-site hetzelfde bericht: "Iemand heeft mijn contactformulier ingevuld, maar ik heb de e-mail nooit ontvangen". Meestal werkte het formulier prima. De e-mail is vanuit Joomla verzonden en is vervolgens ergens misgelopen waar je geen zicht op hebt, tenzij je weet waar je moet kijken. Het goede nieuws is dat e-mail een gedetailleerd spoor achterlaat, en door dit te volgen kun je giswerk omzetten in een snelle diagnose.

Dit artikel is de diagnostische aanvulling op de Focus On-artikelen over e-mail en Joomla en de afleverbaarheid van e-mail. Daarin wordt uitgelegd hoe je e-mail correct instelt; in dit artikel wordt uitgelegd hoe je erachter komt waarom een bericht is mislukt. Het behandelt een gelaagde testmethode, hoe je e-mailheaders leest, de betekenis van veelvoorkomende SMTP-foutcodes, de tools die je de waarheid vertellen, en de Joomla-specifieke valkuilen waar mensen in trappen.

Als het versturen van e-mail mislukt, stop dan met gissen en controleer het spoor dat de e-mail achterliet.

Het doel is om eigenaren, beheerders en ontwikkelaars een reproduceerbare manier te bieden om een e-mailprobleem op te sporen, in plaats van willekeurig instellingen te wijzigen en er het beste van te hopen.

1. Test in stapjes, niet willekeurig

De grootste tijdverspilling bij het oplossen van e-mailproblemen is veel dingen tegelijk wijzigen. E-mail gaat door verschillende onafhankelijke lagen, dus test ze op volgorde en stop bij de eerste die faalt. Die ene falende laag is jouw probleem.

1.1 De Vier Lagen

LaagHoe je het testAls het faalt
1. Transport Testmail verzenden in Globale Configuratie Repareer eerst de SMTP-instellingen; niets anders doet er nog toe.
2. Systeemmail Vraag een wachtwoordreset aan voor een testgebruiker Joomla's mailer of templates, niet je formulier.
3. Extensiemail Verstuur het echte formulier (contact, RSForm Pro) De extensie, of welke mailer die gebruikt.
4. Bezorgbaarheid Stuur naar Gmail en Outlook, lees de headers SPF, DKIM, DMARC of reputatie.

1.2 Waarom volgorde belangrijk Is

Als transport (laag 1) faalt, faalt elke laag erboven ook, dus het heeft geen zin om al een formulier of een DNS-record te bewerken. Als de testmail aankomt maar je contactformulier niet, heb je net bewezen dat het probleem in het formulier of de extensie zit, niet in SMTP. Elke geslaagde laag sluit een hele categorie oorzaken uit. Dit is de snelste weg naar het antwoord.

Naar boven

2. De Joomla-knop testmail verzenden

Je eerste en meest nuttige tool zit standaard in Joomla. Het test transport op zichzelf, los van enig formulier of template.

2.1 Waar het zit

System → Global Configuration → Server tab → Mail Settings
   └─ Send Test Mail   (button at the top of the screen)

Sla eerst je instellingen op en klik er dan op. Joomla verstuurt een klein bericht naar het From-adres met jouw exacte Mailer- en SMTP-instellingen.

2.2 Het resultaat lezen

  • Het komt aan: transport werkt. Elk overgebleven probleem zit in een template, een formulier of bezorgbaarheid, dus ga een laag omhoog.
  • Het geeft een fout op het scherm: Joomla toont meestal de echte reden, zoals authenticatie mislukt of verbinding geweigerd. Die melding wijst rechtstreeks naar de oorzaak (zie sectie 4).
  • Het zegt verzonden maar komt nooit aan: transport heeft het overgedragen maar de bezorging mislukte later. Verdenk bezorgbaarheid en controleer de headers van een bericht dat elders wel aankomt.

2.3 Bewaar een goed voorbeeld

Als de testmail wel aankomt, bewaar hem dan. Een bewezen-goed bericht is het perfecte ding om later, header voor header, te vergelijken met een falend bericht.

Naar boven

3. E-mailheaders lezen

Elke e-mail draagt verborgen headers mee: technische metadata die de hele reis vastlegt. Leren hoe je die leest is de meest waardevolle vaardigheid bij het oplossen van e-mailproblemen, want de headers bevatten meestal het antwoord ronduit.

3.1 Hoe je de headers ziet

ClientWaar te kijken
Gmail Open het bericht, het menu met drie puntjes, dan "Origineel weergeven".
Outlook desktop Open het bericht, Bestand, Eigenschappen, "Internetheaders".
Outlook op het web Het menu met drie puntjes, dan "Berichtdetails weergeven".
Thunderbird Beeld, "Berichtbron", of druk op Ctrl+U.
Apple Mail Weergave, Bericht, "Alle headers" of "Onbewerkte bron".

3.2 De header die de meeste vragen beantwoordt

Kijk eerst naar Authentication-Results. Die geeft het oordeel over de drie bezorgbaarheidscontroles in gewone woorden:

Authentication-Results: mx.recipient.com;
    spf=pass (sender IP is authorised)
    dkim=pass (signature valid; d=yourdomain.com)
    dmarc=pass (policy applied)

Als er ergens fail staat, weet je precies waar je moet beginnen. Een spf=fail wijst naar je SPF-record of verzendende server; een dkim=fail naar je DKIM-sleutel; een dmarc=fail meestal naar uitlijning. Het Focus On-artikel over E-mailbezorging legt uit hoe je elk daarvan oplost.

3.3 De received-keten

De Received-headers vormen een stapel die elke server die het bericht aanraakte toevoegt. Lees ze van onder naar boven: de onderste regel is waar het bericht begon, de bovenste is waar het aankwam.

Received: by mx.recipient.com ...        (top: final delivery)
Received: from relay.provider.com ...    (middle: your SMTP provider)
Received: from yoursite ...              (bottom: the journey started here)

Grote tijdverschillen tussen regels wijzen op een vertraging zoals greylisting of een wachtrij, niet op een harde fout.

3.4 Andere nuttige velden

HeaderWat het je vertelt
From Het adres dat aan de ontvanger wordt getoond. Op zichzelf geen bewijs van echtheid.
Return-Path De envelop-afzender, waar bounce-berichten naartoe gaan.
Message-ID Een unieke ID voor het bericht; gebruik die om dezelfde mail in serverlogs te vinden.
DKIM-Signature De handtekening zelf; d= is het ondertekenende domein, s= de selector.
X-Mailer Wat de mail verstuurde (vaak PHPMailer voor Joomla), een aanwijzing voor welk systeem is gebruikt.
Naar boven

4. Veelvoorkomende SMTP-foutcodes

Als transport faalt, antwoordt de SMTP-server met een numerieke code. Joomla toont die vaak in de fout van Testmail Verzenden of in je serverlogs. Het eerste cijfer vertelt je de categorie: 2xx is succes, 4xx is een tijdelijk probleem dat het opnieuw proberen waard is, 5xx is een permanente weigering.

CodeBetekenisGebruikelijke oorzaak in Joomla
250 Actie voltooid Succes; de server accepteerde het bericht.
421 Dienst niet beschikbaar Server bezet of beperkt het verkeer; probeer later opnieuw.
450 / 451 Tijdelijke fout Vaak greylisting; lukt meestal bij een nieuwe poging.
530 Authenticatie vereist SMTP-authenticatie staat uit, of er is geen login verstuurd.
535 Authenticatie mislukt Verkeerde gebruikersnaam of wachtwoord; vaak een ontbrekend App-wachtwoord.
550 Mailbox niet beschikbaar / relay geweigerd Foute ontvanger, of de server weigert voor jou te relayen.
554 Transactie mislukt Vaak een reputatie- of blocklist-weigering.

Een 535 bij Google of Microsoft 365 betekent bijna altijd dat je een gewoon accountwachtwoord gebruikte waar een App-wachtwoord of ingeschakelde SMTP AUTH vereist is, zoals behandeld in het Focus On-artikel over E-mail en Joomla.

Naar boven

5. Diagnosetools

Een handvol tools vertelt je de waarheid over je instellingen, zodat je niet hoeft te gissen.

5.1 Online diensten

ToolGebruik het om
Mail Tester Een bericht te versturen en een spamscore plus SPF-, DKIM- en DMARC-resultaten te krijgen.
MXToolbox DNS, MX, SMTP te controleren en of je IP of domein op een blocklist staat.
Google Postmaster Tools Je reputatie en bezorging bij Gmail in de loop van de tijd te bekijken.

5.2 Controles op de commandoregel

dig example.com TXT                 see the SPF and other TXT records
dig _dmarc.example.com TXT          see the DMARC policy
dig example.com MX                  see which server receives the domain's mail
nslookup -type=TXT example.com      the same on Windows

5.3 Mail opvangen op een testsite

Wijs op lokale of staging-sites Joomla's SMTP-host aan naar een mail-catcher zoals MailHog of Mailpit. Die accepteert elk bericht en toont het in een webinterface, zodat je precies kunt inspecteren wat Joomla produceerde zonder iets naar een echt persoon te sturen. Dit is de veiligste manier om formulieren en templates te testen.

5.4 Joomla-debugging inschakelen

Schakel tijdens de ontwikkeling Debug-modus in bij Globale Configuratie en controleer het foutenlog. Voor diepere SMTP-details kan een ontwikkelaar het debugniveau van PHPMailer verhogen in een klein testscript om het volledige SMTP-gesprek te volgen, inclusief de exacte antwoorden van de server.

Naar boven

6. Welke mailer heeft het echt verstuurd?

Deze vraag lost een verrassend groot deel op van de gevallen waarin "sommige e-mail werkt, andere niet". Niet elke extensie verstuurt mail op dezelfde manier, dus voordat je gaat debuggen, ontdek welk systeem het bericht behandelde.

6.1 De twee soorten extensie

  • Gebruikt Joomla's mailer: de kern-Contact, gebruikersregistratie, wachtwoordreset en RSForm Pro versturen allemaal via Joomla's centrale instellingen. Repareer deze in Globale Configuratie.
  • Heeft een eigen mailconfiguratie: AcyMailing en sommige CRM- of marketingtools houden aparte SMTP-instellingen aan. Repareer deze in het eigen scherm van de extensie.

6.2 Een snelle beslistabel

SymptoomWaar te kijken
Wachtwoordreset en contactformulier falen beide Joomla Globale Configuratie (gedeelde mailer)
RSForm Pro-formulier faalt, systeemmail werkt De notificatie-instelling van het formulier; mailer is nog steeds Joomla's
AcyMailing-nieuwsbrief faalt, al het andere werkt AcyMailing's eigen mailconfiguratie
Elke soort mail faalt tegelijk Transport of DNS; een gedeelde oorzaak zoals een geblokkeerde poort

De X-Mailer-header uit sectie 3.4 kan ook onthullen welk systeem een bepaald bericht produceerde, wat de vraag snel beslecht.

Naar boven

7. Vertragingen en spamfolder-problemen

Niet elk probleem is een harde fout. Twee mildere gevallen vragen om een andere aanpak.

7.1 Het bericht is traag, niet verloren

Als mail aankomt maar laat, controleer dan de tijdstempels in de Received-keten. Een gat van een paar minuten bij het eerste bericht aan een nieuwe ontvanger is meestal greylisting: de ontvanger vroeg je server het opnieuw te proberen, en dat deed hij. Dit is normaal en zelfcorrigerend. Grotere of groeiende gaten wijzen op een verstopte wachtrij of een worstelende SMTP-server.

7.2 Het komt aan, maar in de spam folder

Als authenticatie slaagt maar berichten toch in spam belanden, is het probleem reputatie of inhoud, niet de instelling. Controleer, op volgorde:

  • Blocklists: staat je verzendende IP of domein op een lijst? Controleer met MXToolbox.
  • Reverse DNS: heeft het verzendende IP een bijbehorend PTR-record? Een goede provider zorgt hiervoor.
  • Inhoud: vermijd onderwerpen in hoofdletters, spamgevoelige zinnen en berichten met alleen links.
  • Een platte-tekstdeel: verstuur multipart zodat strenge filters ook schone tekst zien.

Het Focus On-artikel over E-mailbezorging behandelt reputatie, reverse DNS en blocklists volledig.

Naar boven

8. Onder de motorkap: Waar Joomla het e-mail versturen vastlegt

Voor beheerders en ontwikkelaars helpen een paar Joomla-interne onderdelen wanneer transport zelf niet het probleem is.

8.1 Relevante Databasetabellen

TabelWaarom het belangrijk is voor e-mail
#__users De email-kolom is de bestemming; sendEmail regelt beheerdersnotificaties; block kan ervoor zorgen dat activatiemail er niet toe doet.
#__user_keys Bevat de tijdelijke tokens die per e-mail worden verstuurd voor wachtwoordreset en activatie. Een verlopen of ontbrekend token verklaart een dode resetlink.
#__mail_templates De bewerkbare tekst van elke systeemmail. Een verwijderde tag hier breekt een verder goed bezorgd bericht.

8.2 Inhoud versus bezorging

Houd de scheiding duidelijk. Als mail niet aankomt, is het probleem bezorging: transport of DNS. Als mail wel aankomt maar het verkeerde zegt, of een resetlink kapot is, is het probleem inhoud, die in de component Mail Templates leeft. Het Focus On-artikel over Joomla Mail Templates behandelt die kant. Weten welk scherm welk probleem bezit, bespaart uren.

8.3 Fouten loggen in eigen code

Een ontwikkelaar wiens extensie mail verstuurt, zou altijd de retourwaarde van de verzendaanroep moeten controleren en fouten moeten loggen met de ontvanger, het onderwerp en de SMTP-fout. Stille fouten zijn later het moeilijkst te diagnosticeren, en een logregel van een regel verandert een mysterie in een snelle oplossing.

Naar boven

9. Veelvoorkomende fouten en valkuilen

9.1 Het formulier bewerken om niet-bezorging op te lossen

Symptoom: Er komt geen mail aan, dus je blijft het contactformulier herbouwen.

Oplossing: Test eerst transport met Testmail Verzenden. Als dat faalt, is het formulier irrelevant; repareer SMTP.

9.2 De foutmelding op het scherm negeren

Symptoom: De testmail faalt en je begint blind instellingen te wijzigen.

Oplossing: Lees de fout. "Authenticatie mislukt" en "verbinding geweigerd" wijzen elk naar een specifieke oorzaak; gis er niet aan voorbij.

9.3 De verkeerde mailer debuggen

Symptoom: Je wijzigt urenlang de Globale Configuratie, maar de falende nieuwsbrief faalt nog steeds.

Oplossing: AcyMailing gebruikt zijn eigen mailconfiguratie. Bevestig welk systeem het bericht verstuurde voordat je een instelling aanraakt.

9.4 Een vertraging voor een fout aanzien

Symptoom: Een bericht ontbreekt, dus je verstuurt het vele keren opnieuw; later komen alle kopieen aan.

Oplossing: Het was greylisted. Wacht een paar minuten op de nieuwe poging in plaats van opnieuw te versturen.

9.5 Een keer testen en het dan voor altijd vertrouwen

Symptoom: Mail werkte bij de lancering maar brak maanden later stilletjes.

Oplossing: App-wachtwoorden verlopen, providers wijzigen beleid en IP's komen op blocklists. Hertest na provider- of DNS-wijzigingen en houd DMARC-rapporten in de gaten.

Naar boven

10. Best practices

Als je maar een paar dingen uit dit artikel onthoudt, onthoud dan deze:

  • Test in lagen van transport naar boven, en stop bij de eerste fout.
  • Begin met Testmail Verzenden; het isoleert transport van formulieren en templates.
  • Leer Authentication-Results en de Received-keten lezen; het antwoord staat er meestal in.
  • Koppel een SMTP-foutcode aan zijn oorzaak in plaats van te gissen (535 betekent foute login, 530 betekent geen authenticatie).
  • Ontdek altijd welke mailer een bericht verstuurde voordat je instellingen wijzigt.
  • Bewaar een bewezen-goed bericht om een falend bericht mee te vergelijken.
  • Gebruik Mail Tester en MXToolbox om authenticatie en blocklists te controleren.
  • Vang mail op met MailHog of Mailpit op testsites zodat je nooit naar echte mensen verstuurt.
  • Hertest na provider- en DNS-wijzigingen; e-mailinstellingen breken in de loop van de tijd geruisloos.
Naar boven

11. In het kort

LAYERED TEST
  1 Transport      Send Test Mail (Global Configuration)
  2 System mail    request a password reset
  3 Extension mail submit the real form (contact / RSForm Pro)
  4 Deliverability send to Gmail + Outlook, read the headers

KEY HEADERS
  Authentication-Results   spf= / dkim= / dmarc=  (pass or fail)
  Received                 read bottom to top = the route
  Return-Path              where bounces go
  Message-ID               match the mail in server logs
  X-Mailer                 which system sent it

SMTP CODES
  250 ok    421/450/451 temporary (retry)
  530 auth required   535 auth failed (bad login / no App Password)
  550 mailbox/relay denied   554 reputation / blocklist

TOOLS
  dig example.com TXT   |  Mail Tester  |  MXToolbox  |  Postmaster Tools
  MailHog / Mailpit     catch mail on test sites
  Joomla Debug mode     server error log

WHICH MAILER
  Joomla's     core, registration, password reset, RSForm Pro
  Its own      AcyMailing, some CRM / marketing tools
Naar boven

12. Samenvatting

Het oplossen van e-mailproblemen voelt alleen als giswerk totdat je het spoor volgt dat elk bericht achterlaat:

  • Test in lagen en stop bij de eerste fout; elke geslaagde laag sluit een hele oorzaak uit.
  • Testmail Verzenden isoleert transport, je snelste eerste controle.
  • Headers, vooral Authentication-Results en de Received-keten, benoemen het probleem ronduit.
  • SMTP-foutcodes wijzen naar specifieke oorzaken; 535 is een foute login, 550 een geweigerde ontvanger.
  • Welke mailer het verstuurde bepaalt welk scherm je opent: Joomla's instellingen of die van de extensie zelf.
  • Vertragingen en spam verschillen van fouten en vragen om reputatie- en inhoudsoplossingen.

Met een gelaagde test, een zorgvuldige lezing van de headers en de juiste tool voor elke laag wordt bijna elk Joomla-e-mailprobleem een korte, methodische zoektocht in plaats van een middag giswerk. Als de mail van je site na het doorlopen van deze stappen nog steeds misgaat, is het probleem meestal subtiel, in DNS-uitlijning, reputatie of een verborgen mailconfiguratie van een extensie, en dat is precies het soort probleem dat een gerichte tweede blik snel kan oplossen.

Naar boven
Problemen met e-mail oplossen in Joomla
Peter Martin
Peter Martin
Joomla Specialist

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.

Veelgestelde vragen

Waarom verstuurt Joomla geen e-mails?

Joomla kan stoppen met het versturen van e-mails als gevolg van onjuiste SMTP-instellingen, een onbereikbare e-mailserver, mislukte authenticatie, firewallbeperkingen of beperkingen van de hostingprovider. Door de e-mailinstellingen van Joomla, de SMTP-inloggegevens en de serverlogboeken te controleren, kun je meestal de oorzaak achterhalen.

Hoe configureer ik SMTP in Joomla?

Ga naar Systeem → Algemene configuratie → Server → E-mailinstellingen. Selecteer SMTP, voer je SMTP-host, poort, gebruikersnaam, wachtwoord en versleutelingsmethode (SSL/TLS of STARTTLS) in. Sla de instellingen op en verstuur een test-e-mail om de configuratie te controleren.

Hoe kan ik testen of de e-mailfunctie van Joomla werkt?

Gebruik de ingebouwde e-mailfunctie van Joomla of een contactformulier om een test-e-mail te versturen. Als dit mislukt, bekijk dan de foutmelding, schakel de Joomla-debugmodus in en controleer de foutlogboeken van uw webserver of PHP voor meer details.

Waarom belanden e-mails van Joomla in de spamfolder?

E-mails belanden vaak in de spamfolder omdat SPF-, DKIM- of DMARC-records ontbreken of onjuist zijn, het verzendende domein een slechte reputatie heeft of de inhoud van de e-mail spamfilters activeert. Correcte DNS-authenticatie verbetert de afleverbaarheid aanzienlijk.

Wat is de beste mailer voor Joomla?

SMTP is de aanbevolen e-mailclient voor de meeste Joomla-websites, omdat deze veilige authenticatie biedt en betere bezorgpercentages dan PHP Mail. Diensten zoals Gmail SMTP, Microsoft 365, Amazon SES, Mailgun en SendGrid zijn populaire keuzes.

Houd bij het kiezen van een SMTP-provider ook rekening met privacy en naleving van de AVG. Als u met persoonsgegevens werkt, kan het raadzaam zijn om een Europese e-maildienst of een provider met passende AVG-waarborgen te gebruiken.

Hoe los ik SMTP-authenticatiefouten in Joomla op?

Controleer de SMTP-hostnaam, poort, versleutelingsmethode, gebruikersnaam en wachtwoord. Zorg ervoor dat de SMTP-server externe verbindingen toestaat, en gebruik bij Gmail of Microsoft 365 waar nodig een app-wachtwoord of OAuth. In de serverlogboeken staat vaak de exacte authenticatiefout vermeld.