Problemen met Contact Form 7

Vrijwel alle websites hebben een contact formulier op de website staan. Voor WordPress is Contact Form 7 een veel gebruikte en zeer populaire gratis plugin. Helaas werkt dit niet altijd zonder problemen.
E-mail, hoe eenvoudig het ook lijkt, is een behoorlijk complex systeem.
Hetgeen dat jij als gebruiker ziet en mee werkt, is slechts het topje van de ijsberg.

Wanneer alles goed functioneert, ziet het traject dat een enkel e-mail bericht aflegt er ongeveer als volgt uit:

  1. De email wordt opgesteld (al dan niet met een formulier)
  2. De email wordt verzonden vanaf de webhosting server of SMTP server
  3. De SMTP server communiceert met een DNS-server om uit te vogelen waar de e-mail naar toe moet, hier wordt ook gecontroleerd of de verzendende server hiervoor wel geautoriseerd is.
  4. De e-mail komt op de ontvangende server/tussenliggende servers waar deze gecontroleerd wordt op SPAM kenmerken
  5. De email komt aan bij de ontvanger, afhankelijk van gebruikte software kan ook hier nogmaals gecontroleerd worden of het om SPAM gaat.

Er hoeft maar één ding niet goed te gaan op een van de tussenliggende stappen en de e-mail kon om te beginnen nooit verzonden worden of niet aankomen.

Nu is Contact Form 7 met al zijn opties enorm handig en breed inzetbaar. Het geeft ook de mogelijkheid om het geheel verkeerd in te stellen waardoor e-mails niet verzonden worden, of op zo’n manier verzonden worden dat ze nooit aan zullen komen.

Wanneer je website niet zoveel bezoekers trekt, kan het ook zomaar zo zijn dat het heel lang kan duren voordat je doorhebt dat het formulier niet werkt.

Contact Form 7 instellen

Voor de meeste websites is het voldoende om enkel Contact Form 7 in te stellen om e-mail te versturen met het domeinnaam in het afzend-adres. Omdat je natuurlijk wél wilt dat de reply/beantwoord knop van je e-mail programma de email stuurt naar de persoon die het bericht heeft ingezonden, moet er een extra ‘reply-to’ header in gesteld worden.

Als je de standaard velden van Contact Form 7 gebruikt, kan je de onderstaande code in het vlak Aanvullende kopteksten plakken:

    Reply-To: [your-email]

Voor WPHelpdesk.nl zou de instellingen er als volgt uit komen te zien.

Contact form 7 e-mail instellingen
Contact Form 7 instellingen zoals gebruikt voor WPHelpdesk.nl

Staat je website echter op webhosting van TransIP dan zijn daar extra instellingen voor nodig. Bij TransIP is de zogeheten PHP mail functie uitgeschakeld, hierdoor kan alleen e-mail verstuurd worden via het SMTP protocol. Om dit te laten werken, is een extra plugin nodig die ook goed ingesteld moet worden.

Een geschikte plugin hiervoor is de WP Mail SMTP plugin

WP Mail SMTP plugin
de WP Mail SMTP plugin werkt goed in combinatie met Contact Form 7

Bij deze plugin dien je de inloggegevens van het verzendende e-mailadres in te voeren.
Met het oog op de veiligheid kan het handig zijn hier een extra e-mailadres voor aan te maken binnen het beheer paneel van je webhosting.

Voor TransIP zouden de volgende e-mail instellingen gebruikt kunnen worden, bij een andere webhost zijn andere instellingen nodig.

  • SMTP Authenticatie: Ja
  • SMTP Beveiliging: SSL
  • Poort: 465
  • Gebruikersnaam: Het e-mailadres vanuit waar je wil mailen, dit moet dus een adres zijn dat is aangemaakt en moet gelijk zijn aan het domein waarvan je e-mail wilt versturen.
  • Wachtwoord: Het wachtwoord van dit adres.
  • Host: smtp.transip.email

Dat zou er in de WP Mail SMTP plugin als volgt uitzien:

screenshot WP Mail SMTP instellingen bij TransIP
WP Mail SMTP instellingen wanneer deze gebruikt wordt op de hosting van TransIP

Je kan met deze plugin de e-mails via een andere dienst laten versturen die ‘transactional e-mails’ toelaat. Voor de meeste websites is het gratis pakket van Send In Blue voldoende én dit is relatief eenvoudig in te stellen. Heb je hier hulp bij nodig? Neem dan contact met ons op!

Contact Form 7 e-mails opslaan in de database

Om zeker te zijn dat er geen e-mails verloren gaan, kan het ook handig zijn deze op te slaan in de database van de website. Daarvoor zou de plugin Flamingo gebruikt kunnen worden. Deze voegt een pagina toe in het WordPress Dashboard waar je de binnengekomen berichten kan zien. Zo heb je nog een extra mogelijkheid om te zien of e-mails wel verzonden zijn en of die ook daadwerkelijk aankomen.