Het sturen van bevestigings e-mails wordt eigenlijk niet standaard meer gedaan. Dit komt omdat dergelijke formuliers veel misbruikt worden voor SPAM. We raden dan ook af om dit voor een algemeen contactformulier te gebruiken. Voor offerte of afspraak formulieren kan het echter wel wenselijk zijn. Houdt echter goed in de gaten of er geen misbruik van wordt gemaakt.
We hebben een script dat u kunt gebruiken in combinatie met de webhook mogelijkheid van Sitejet. Dit script controleert het IP nummer om gebruik van buitenaf te voorkomen en controleert op de aanwezigheid van linkjes in de tekst, omdat dit op SPAM misbruik kan wijzen. In dat geval zal de e-mail niet naar het e-mail adres van de 'bezoeker' worden verzonden, maar ontvangt u het bericht wel.
In Sitejet
Bij de formulier instellingen vindt u het veld 'webhook' deze kunt u sturen naar een bestand, bijvoorbeeld https://eenvoorbeeld.nl/webhook.php.
Het script
- Maak een bestand aan (in Plesk file manager of op uw computer om later met FTP te plaatsen)
- Het IP adres moet worden gewijzigd in het IP adres van uw hostingpakket. U kunt dit IP terugvinden in de opleverings e-mail, maar ook in het Plesk Adminpanel. Met deze toevoeging voorkomen we gebruik van buitenaf.
- Het From adres no-reply@example.com moet worden gewijzigd in uw eigen e-mail adres.
- De veldnamen zoals Email Adres of Message moeten overeenkomen met de veldnamen die u meegeeft in Sitejet.
<?php // IP Adres van uw hostingpakket $allowed_ip = '15.16.17.18'; // IP Controle if ($_SERVER['REMOTE_ADDR'] !== $allowed_ip) { http_response_code(403); // Forbidden exit("Access denied."); } // POST data $rawData = file_get_contents("php://input"); // RAW naar DATA parse_str($rawData, $parsedData); // Controle op inhoud if (isset($parsedData['data'])) { $jsonData = urldecode($parsedData['data']); $data = json_decode($jsonData, true); // Function to check for URLs in any field function contains_url($field_value) { return strpos($field_value, 'http://') !== false || strpos($field_value, 'https://') !== false; } // Check each field for URLs foreach ($data as $field => $value) { if (is_string($value) && contains_url($value)) { exit("URLs are not allowed in any field."); } } // Klopt de inhoud en is er een e-mail adres if ($data && isset($data['Email Adres*'])) { // Adjust key name as needed $to = $data['Email Adres*']; $subject = "Informatie ontvangen van het formulier"; // Begin van de e-mail $message = "De volgende gegevens hebben wij van u mogen ontvangen:\n\n"; // Voeg ingevoerde gegevens toe aan de e-mail foreach ($data as $field => $value) { $message .= ucfirst($field) . ": " . $value . "\n"; } // Email headers $headers = "From: no-reply@example.com\r\n"; // Attempt to send the email mail($to, $subject, $message, $headers); } } ?>
Was dit artikel nuttig?
Dat is fantastisch!
Hartelijk dank voor uw beoordeling
Sorry dat we u niet konden helpen
Hartelijk dank voor uw beoordeling
Feedback verzonden
We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren