hey,

Ik heb deze mail handler ongeveer 2 jaar geleden geschreven. Nu alles werkte toen perfect. Nu pas ik mijn code aan voor de mail afhandelaar te gebruiken voor een andere website waar ik aan het werk ben. Nu ik vul alles in op het contact form en hij geeft geen fouten ofzo hij zegt dqt het verzonden is. maar heb hem ingesteld op mijn email adres en krijg gewoon niets binnen. al gezocht maar vind zelf geen fouten. Mss iemand die me hier kan helpen.

contact form

<form action="verwerking.php" method="post">
    			<div>
        		<label for="name">Naam:</label>
        		<input type="text" id="name" name="name" />
    			</div>
    			<div>
        		<label for="mail">E-mail:</label>
        		<input type="e-mail" id="e-mail" name="e-mail" />
    			</div>
    			<div>
        		<label for="msg">Bericht:</label>
        		<textarea id="msg" name="msg"></textarea>
    			</div>
    
    			<div class="button">
        		<button type="submit">Send your message</button>
    			</div>
				</form>

en de php:
<?php  
if($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if (empty($_POST['name'])) { 
        $error .= "naam is niet ingevuld<BR />"; 
    }   if (empty($_POST['e-mail'])) { 
        $error .= "e-mail is niet ingevuld<BR />";  
    } if (filter_var($_POST['e-mail'], FILTER_VALIDATE_EMAIL)) {
  		echo '';
	} else {
 		 $error .= "Geen geldig email adres<BR />";
	} if (empty($_POST['msg'])) { 
        $error .= "Uw vraag of opmerking is niet ingevuld<BR />"; 
    }
     
    if (empty($error)) { 

        $bericht  .= "Mijn naam is: ". $_POST['name'].
					 " 
					 Mijn email is: ".$_POST['e-mail'].
					 " 
					 mijn vraag of opmerking is: ".$_POST['msg'];
       
	   mail("[email protected]", "reactie van de website", $bericht, "FROM: website naam");
	   echo "Uw aanvraag is verstuurd. We zullen u zo snel mogelijk contacteren."; header('Refresh: 3; url=contact.html');
          
    } else { 
     
        echo "Gelieve alle gegevens correct in te vullen.<BR/><BR />"; 
        echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";
         
    } 
     
} else { 
    
    echo "Formulier niet verstuurd. Gelieve alle gegevens correct in te vullen."; 

} 
?> 

ik weet niet echt waar de fout zit.
Heb je al mijn link gevolgd over de 'juiste headers'?
Ja Ariën heb Adoptive Solution's $header aangepast zoals de link die je me gegeven hebt.

[size=xsmall]Toevoeging op 27/09/2016 14:20:33:[/size]

en Ariën heb juist de foutafhandeling toegepast. ik krijg geen fouten. gewoon dat de email is verstuurd.

[size=xsmall]Toevoeging op 27/09/2016 14:24:08:[/size]

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if (empty($_POST['name'])) {
$error .= "naam is niet ingevuld<BR />";
} if (empty($_POST['e-mail'])) {
$error .= "e-mail is niet ingevuld<BR />";
} if (filter_var($_POST['e-mail'], FILTER_VALIDATE_EMAIL)) {
echo '';
} else {
$error .= "Geen geldig email adres<BR />";
} if (empty($_POST['msg'])) {
$error .= "Uw vraag of opmerking is niet ingevuld<BR />";
}

if (empty($error)) {


$mail_ontv = "[email protected]";
$website_name="th-design";
$subject = "Reactie van de website";
$headers = 'From: ' . $website_name . ' <' . $mail_ontv . '>' . "\r\n";
$bericht = "Mijn naam is: " . $_POST['name'] . "\n";
$bericht .= "Mijn email is: " . $_POST['e-mail'] . "\n";
$bericht .= "Mijn vraag of opmerking is: " . $_POST['msg'] . "\n";

if(mail($mail_ontv, $subject , $bericht, $headers)) {
echo "Uw aanvraag is verstuurd. We zullen u zo snel mogelijk contacteren.";
header('Refresh: 3; url=contact.html');
} else {
echo "De mail is niet verstuurd vanwege een technische fout.";
}

}
else {

echo "Gelieve alle gegevens correct in te vullen.<BR/><BR />";
echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";

}

} else {

echo "Formulier niet verstuurd. Gelieve alle gegevens correct in te vullen.";

}
?>
De From in de reactie van Adoptive Solution is niet correct.

Laat het stukje script met de headers zoals je nu hebt hier eens zien.
En staat de server vanwaar je de mail wilt sturen in het SPF record in de DNS?
heb ze hierboven nog eens de gehele php code gepost ;)
In de From staat nu een adres van hotmail.com en het is vast geen server van hotmail.com.
Zet hier een adres in die van de server/het domein zelf komt.

[size=xsmall]Toevoeging op 27/09/2016 14:29:27:[/size]

En waar is de rest van de headers?
oke zal ik proberen ;)
ik zal de headers bijvullen ;)
Test het ook eens zonder headers, dus zonder 4e parameter.
heb het getest niets ik krijg altijd dat de email verstuurd is. En aan de server denk ik ook ni dat het ligt ik gebruik zowel een betalende .be als gratis webhosting. dus begrijp het echt niet meer :D
heb je het ook met een andere ontvangende server dan hotmail.com geprobeerd?
Staat de server niet ergens op een blacklist?

Reageren