Problemen met e-mail oplossen in Joomla
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
| Laag | Hoe je het test | Als 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 boven2. 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 boven3. 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
| Client | Waar 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
| Header | Wat 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. |
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.
| Code | Betekenis | Gebruikelijke 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.
5. Diagnosetools
Een handvol tools vertelt je de waarheid over je instellingen, zodat je niet hoeft te gissen.
5.1 Online diensten
| Tool | Gebruik 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 boven6. 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
| Symptoom | Waar 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.
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 boven8. 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
| Tabel | Waarom 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 boven9. 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 boven10. 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-Resultsen deReceived-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.
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 boven12. 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-Resultsen deReceived-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

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.
Veelgestelde vragen
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.
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.
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.
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.
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.
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.


