6 $_REQUEST['login'] = $User->login;
8 $error = mailform($_REQUEST);
10 print "<p class=warn>$error</p>\n\n";
14 function mailform($input = [])
16 $source = empty($input['subject']) ? 'reactie' : $input['subject'];
17 $domain = preg_replace('/^www\./', '', $_SERVER['HTTP_HOST']);
18 $rcpt = "info@$domain";
19 $subject = "Formulier {$_SERVER['HTTP_HOST']}: $source";
22 return 'Geen gegevens ontvangen. Probeer het nog eens.';
27 if (empty($input['login'])) {
28 return "Inloggen is verplicht om een melding te plaatsen.";
30 if (empty($input['body'])) {
31 return "Geen bericht opgegeven.";
35 if (empty($input['naam']) or empty($input['huis'])) {
36 return 'De bedoeling is juist dat je opgeeft wie er komt.';
38 $rcpt .= ', Heleen <heleen.terlouw.2910@gmail.com>';
41 if (empty($input['email']) or !preg_match('/.+@.+\..+/', $input['email'])) {
42 return 'Een geldig e-mailadres is verplicht zodat we antwoord kunnen geven.';
44 if (isset($input['naam']) and empty($input['naam'])) {
45 return 'Geef ook een naam waarmee we u kunnen aanspreken.';
49 $reply = preg_match('/\A\w+@\w+\.[a-z]+\z/', @$input['email'])
50 ? $input['email'] : "noreply@$domain";
51 $header = "From: $reply";
54 'X-Accept-Language' => 'HTTP_ACCEPT_LANGUAGE',
55 'User-Agent' => 'HTTP_USER_AGENT',
56 ) as $mailhdr => $serverhdr) {
57 if (!$_SERVER[$serverhdr]) continue;
58 $header .= "\r\n$mailhdr: ".$_SERVER[$serverhdr];
61 $origin = $_SERVER['REMOTE_ADDR'];
62 if ($resolved = @gethostbyaddr($origin) and $resolved !== $origin) {
63 $origin .= sprintf(' (%s)', gethostbyaddr($origin));
65 $body = "Ingevuld vanaf $origin:\r\n\r\n";
67 foreach ($input as $k => $v) {
68 $body .= "$k: $v\r\n";
71 $sent = mail($rcpt, $subject, $body, $header);
73 return 'Helaas ging er iets mis bij het doorvoeren. Probeer het later nog eens.';
77 print '<p>Bedankt voor uw bestelling. U ontvangt z.s.m. de bevestiging van deze bestelling via uw opgegeven e-mailadres.</p>';
80 print "<p>Bedankt voor je deelname. Tot ziens!</p>";
83 print "<p>Bedankt voor de melding. Na goedkeuring zal het hier geplaatst worden.</p>";
86 print '<p>Bedankt voor uw reactie!</p>';