contact: reply form to send email to info@covexcelsiorleiderdorp.nl
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 16 Jan 2015 21:19:19 +0000 (22:19 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 18 Jun 2018 13:01:00 +0000 (15:01 +0200)
Copied from Excelsior at commit 2018-v1-1-gf1550a9744 (2018-04-20).

contact.php [new file with mode: 0644]

diff --git a/contact.php b/contact.php
new file mode 100644 (file)
index 0000000..1f0bad5
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+$source = empty($_REQUEST['subject']) ? 'reactie' : $_REQUEST['subject'];
+if (!$_POST) {
+       echo 'Geen gegevens ontvangen. Probeer het nog eens.';
+}
+elseif (empty($_POST['email']) or !preg_match('/.+@.+\..+/', $_POST['email'])) {
+       echo 'Een geldig e-mailadres is verplicht. Ga terug en probeer het nog eens.';
+}
+elseif (isset($_POST['naam']) and empty($_POST['naam'])) {
+       echo 'Er ontbraken vereiste gegevens. Ga terug en probeer het nog eens.';
+}
+else {
+       $rcpt = 'info@covexcelsiorleiderdorp.nl';
+       $subject = "Formulier $_SERVER[HTTP_HOST]: $source";
+       $reply = preg_match('/\A\w+@\w+\.[a-z]+\z/', $_POST['email'])
+               ? $_POST['email'] : $rcpt;
+       $header = "From: $reply";
+
+       foreach (array(
+               'X-Accept-Language' => 'HTTP_ACCEPT_LANGUAGE',
+               'User-Agent'        => 'HTTP_USER_AGENT',
+       ) as $mailhdr => $serverhdr) {
+               if (!$_SERVER[$serverhdr]) continue;
+               $header .= "\r\n$mailhdr: ".$_SERVER[$serverhdr];
+       }
+
+       $origin = $_SERVER['REMOTE_ADDR'];
+       $origin .= sprintf(' (%s)', gethostbyaddr($origin));
+       $body = "Ingevuld vanaf $origin:\r\n\r\n";
+
+       foreach ($_POST as $k => $v) {
+               $body .= "$k: $v\r\n";
+       }
+
+       $sent = mail($rcpt, $subject, $body, $header);
+       if (!$sent)
+               echo '<p>Helaas ging er iets mis bij het doorvoeren. Probeer het later nog eens.</p>';
+       elseif ($source == 'bestelling')
+               echo '<p>Bedankt voor uw bestelling. U ontvangt z.s.m. de bevestiging van deze bestelling via uw opgegeven e-mailadres.</p>';
+       else
+               echo '<p>Bedankt voor uw reactie!</p>';
+}
+