WordPress mail komt niet aan? Zo zet je SMTP goed met FluentSMTP
Formulieren die nooit binnenkomen en wachtwoordmails die verdwijnen. Dat ligt zelden aan je formulierplugin en bijna altijd aan de manier waarop WordPress mail verstuurt.
Een klant vult je contactformulier in en jij krijgt niets. Of iemand vraagt een nieuw wachtwoord aan en die mail komt nooit aan. Je gaat zoeken in de formulierplugin, terwijl het probleem daar niet zit.
WordPress verstuurt standaard via de PHP-functie mail(). Die gooit je bericht rechtstreeks vanaf je webserver het internet op. Er zit geen mailserver tussen, geen inloggegevens, niks. Gmail en Outlook zien vervolgens een mail van jouwbedrijf.nl vertrekken vanaf een server die volgens de DNS van jouwbedrijf.nl helemaal geen mail hoort te versturen.
Dan gebeurt er een van twee dingen. Je mail belandt in de spammap, of hij wordt onderweg weggegooid zonder dat iemand je dat vertelt. Dat tweede is het vervelendst, want WordPress denkt dat het gelukt is en zegt netjes dat het bericht verzonden is.
Wat SMTP eraan verandert
Met SMTP log je in op een echte mailserver en laat je die het versturen doen. Precies dezelfde server die je mail ook aanneemt als je een bericht typt in Outlook of Apple Mail. Die server staat wel netjes in je DNS, heeft SPF en DKIM op orde, en wordt daarom vertrouwd.
Je verandert dus niet wat WordPress verstuurt, alleen via wie.
Waarom FluentSMTP en niet iets anders
Er zijn een stuk of tien SMTP-plugins en ze doen allemaal ongeveer hetzelfde. FluentSMTP is gratis zonder pro-versie die je uiteindelijk toch nodig hebt, en dat is bij deze categorie plugins een uitzondering.
Belangrijker is het logboek. FluentSMTP bewaart elke mail die de deur uit gaat. Belt iemand dat hij niks ontvangen heeft, dan zoek je het op en zie je of de mail vertrokken is of dat het versturen zelf al mislukte. Dat scheelt een middag gissen.
Wat je nodig hebt
- Een mailadres op je eigen domein, met wachtwoord
- De SMTP-gegevens van je provider. Meestal staan die in je hostingpaneel onder e-mail, anders vraag je ze even op
- Toegang tot
wp-config.php, als je het wachtwoord niet in de database wilt hebben
Kies eerst waar je vandaan gaat sturen
Twee smaken, en de keuze bepaalt de rest van de instellingen.
Je gewone mailbox. Simpel, je hebt de gegevens al, en voor een site die een paar formulieren per dag verstuurt is het prima. Nadeel is dat de meeste providers een limiet hanteren van een paar honderd berichten per dag.
Een verzenddienst zoals Brevo, Postmark of Amazon SES. Die zijn gebouwd op afleverbaarheid, geven je statistieken over wat er aankomt, en gaan niet stuk bij grotere aantallen. Bij een webshop of een site die bevestigingsmails stuurt is dat de betere keuze.
Twijfel je, begin dan met je mailbox. Overstappen kost later vijf minuten.
FluentSMTP installeren en instellen
Ga naar Plugins, Nieuwe plugin, zoek op FluentSMTP en activeer hem. Je vindt de instellingen daarna onder Instellingen, FluentSMTP.
Klik op Add Connection. Bij Connection Provider kies je je dienst. Staat die er niet bij, of gebruik je een gewone mailbox, dan pak je Other SMTP.
Vul daarna in:
- From Email. Het adres waar de mail vandaan lijkt te komen. Gebruik hetzelfde adres als waarmee je straks inlogt, anders weigeren veel servers het alsnog.
- Force From Email. Aanzetten. Plugins vullen namelijk graag hun eigen afzender in en dat is precies wat je niet wilt.
- SMTP Host. Iets als
smtp.jouwprovider.nl. - Port en Encryption. Poort 587 met TLS is de standaard. Werkt dat niet, probeer dan 465 met SSL.
- Auto TLS en Authentication. Allebei aan.
- SMTP Username en Password. Je volledige mailadres en het wachtwoord van die mailbox.
Het wachtwoord uit de database houden
Standaard komt dat wachtwoord in de database te staan. Zet je een kopie van je site ergens neer, dan gaat het gewoon mee. FluentSMTP kan het ook uit een constante lezen. Zet in wp-config.php, boven de regel waar staat dat je moet stoppen met bewerken:
define( 'FLUENTMAIL_SMTP_PASSWORD', 'jouw-wachtwoord' );
Vink daarna in FluentSMTP aan dat je het wachtwoord uit wp-config.php haalt. Het veld blijft dan leeg en dat hoort zo.
Testen of het werkt
In FluentSMTP zit een tabblad Email Test. Stuur een bericht naar een adres bij een andere aanbieder dan je eigen mail. Verstuur je vanaf een adres bij je hosting naar hetzelfde domein, dan blijft die mail intern en heb je niets bewezen.
Komt hij aan, kijk dan meteen even waar. Inbox is goed. Spam betekent dat het versturen lukt maar je SPF-record de nieuwe verzender nog niet kent.
Test daarna ook je echte formulier. Dat is de test die telt.
Zet een reserveverbinding klaar
FluentSMTP kan meerdere verbindingen naast elkaar hebben. Voeg een tweede toe en vink daarbij Set as Fallback Connection aan. Gaat je eerste verbinding onderuit, dan pakt de tweede het over zonder dat je er iets van merkt.
Kost vijf minuten en je hebt het precies één keer nodig, meestal op een moment dat het slecht uitkomt.
Waar het meestal misgaat
- From Email is een ander adres dan je inloggegevens. Verreweg de meest voorkomende oorzaak. De server ziet dat je namens iemand anders wilt versturen en weigert.
- Poort 25. Die staat bij vrijwel elke hoster dicht. Gebruik 587.
- Google Workspace met tweestapsverificatie. Je gewone wachtwoord werkt dan niet. Maak een app-wachtwoord aan, of gebruik de Gmail-koppeling van FluentSMTP.
- SPF kent je nieuwe verzender niet. Stuur je via een externe dienst, dan moet die in je SPF-record staan. Zonder dat blijft alles in spam hangen, ook al vertrekt de mail netjes.
- Het logboek staat uit. Zet hem aan en bewaar zeven dagen. Zonder log sta je bij de volgende klacht weer met lege handen.
Tot slot
Tien minuten werk en je weet voortaan zeker dat een aanvraag ook echt binnenkomt. Zet een herinnering over een half jaar om even in het logboek te kijken. Een verlopen wachtwoord of een provider die zijn poorten verandert merk je anders pas als er al een week niets meer is doorgekomen.