Beste webmasters

Ik heb een contactformulier maar het from email werkt niet.
Hopelijk kunnen jullie me helpen.


<!-- Contact -->
<? if (isset($_POST["submit"])) {
		$name = $_POST['name'];
		$email = $_POST['email'];
		$datum = $_POST['datum'];
		$aantal = $_POST['aantal'];
		$message = $_POST['message'];
		$tel = $_POST['tel'];
		$human = intval($_POST['human']);
		$from = '[email protected]'; 
		$to = '[email protected]'; 
		$subject = 'Reservatie via de website';

		$body ="Van: $name\n E-Mail: $email\n Tel: $tel\n Datum: $datum\n Aantal: $aantal\n   Extra:\n $message ";
		// Check if name has been entered
		if (!$_POST['name']) {
			$errName = 'Voer uw naam in';
		}
		
		// Check if email has been entered and is valid
		if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
			$errEmail = 'Voer een geldig e-mailadres in!';
		}
		
		//Check if message has been entered
		if (!$_POST['tel']) {
			$errTel = 'Voer uw telefoonnummer in';
		}
		//Check if message has been entered
		if (!$_POST['voorname']) {
			$errVoorName = 'Voer uw naam in';
		}
		//Check if simple anti-bot test is correct
		if ($human !== 5) {
			$errHuman = 'Your anti-spam is incorrect';
		}
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
	if (mail ($to, $subject, $body, $from)) {
		$result='<div class="alert alert-success">We hebben uw bericht goed ontvangen. Wij bekijken dit zo spoedig mogelijk</div>';
	} else {
		$result='<div class="alert alert-danger">Oeps er liep iets mis :(</div>';
	}
}
	}
?>
Er missen goede headers in je $from.
Zie ook; http://php.net/manual/en/function.mail.php en dan Example #2.

Persoonlijk zou ik een mailer gebruik zoals phpMailer, gezien die object-gerienteerd is, en waarmee de mail makkelijker op te bouwen is, met de juiste headers.
Ik vind het altijd fijn dat als ik een formulier verstuur, dat ik meteen alle foutmeldingen in één keer te zien krijg. Zo voorkom je dat bij de eerste keer versturen een veld niet is ingevoerd, en bij de tweede keer het e-mailadres ongeldig blijkt.


<?php
$errors = array();
if(// field empty)
	$errors[] = 'Foutmelding';
if(// not a valid email)
	$errors[] = 'Geen geldig e-mailadres';

if(isset($errors) && count($errors) >= 1)
{
	foreach($errors as $each)
	{
		echo '<p>'.$each.'</p>';
	}
}

// mailheaders
$headers = 'From: Company <[email protected]>'."\r\n";
$headers .= 'Reply-To: Company <[email protected]>'."\r\n";
$headers .= 'Organization: Company'."\r\n";
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-Type: text/plain; charset=iso-8859-1'."\r\n";
$headers .= 'X-Priority: 3'."\r\n";
$headers .= 'X-Mailer: PHP/'.phpversion();

mail('[email protected]', 'subject', 'content', $headers);
?>

Reageren