Ik weet niet wat ik fout doe, als ik een mail verstuur krijg ik wel de mail binnen maar geen melding. Hetzelfde type script gebruik ik voor een terugbelverzoek en deze werkt wel. (is een kleinere versie).
Wie kan mij op weg helpen?
<?php
define( "RECAPTCHA_V3_SECRET_KEY", 'XXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxx' );
if ( isset( $_POST[ 'email' ] ) && $_POST[ 'email' ] ) {
$email = filter_var( $_POST[ 'email' ], FILTER_SANITIZE_STRING );
} else {
// set error message and redirect back to form...
// echo "<script> alert('Je bericht kon niet worden verzonden.')</script>";
exit;
}
$token = $_POST[ 'token' ];
$action = $_POST[ 'action' ];
// Sender's Name
$name = $_POST[ "name" ];
// call curl to POST request
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify" );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( array( 'secret' => RECAPTCHA_V3_SECRET_KEY, 'response' => $token ) ) );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$response = curl_exec( $ch );
curl_close( $ch );
$arrResponse = json_decode( $response, true );
// verify the response
if ( $arrResponse[ "success" ] == '1' && $arrResponse[ "action" ] == $action && $arrResponse[ "score" ] >= 0.7 ) {
echo "Uw CAPTCHA response was verkeerd";
exit;
} else {
// controle op lege velden..
if ( $_POST[ "email" ] == "" ) {
echo "Niet alle velden zijn ingevuld";
} else {
// Check if the "Sender's Email" input field is filled out
$email = $_POST[ "email" ];
// Sanitize E-mail Address
$email = filter_var( $email, FILTER_SANITIZE_EMAIL );
// Validate E-mail Address
$email = filter_var( $email, FILTER_VALIDATE_EMAIL );
if ( !$email ) {
echo "<script> alert('foutief emailadres')</script>";
} else {
$to = "[email protected]";
$subject = "Website formulier";
$message = "Afzender: " . $_POST[ "name" ] . "\r\n" . "Email: " . $_POST[ "email" ] . "\r\n" ."Bericht: " . $_POST[ "message" ];
$headers = "From:" . $email . "\r\n";
// Message lines should not exceed 70 characters (PHP rule), so wrap it
$message = wordwrap( $message, 70, "\r\n" );
// Send Mail By PHP Mail Function
if ( mail( $to, $subject, $message, $headers ) ) {
echo "<script> alert('$name bedank voor uw bericht. Wij zullen u zo snel mogelijk antwoorden.');
window.location.href='index.html';
</script>";
} else {
echo "<script> alert('Je bericht kon niet worden verzonden. Verander je e-mailadres of neem contact op met $to.')</script>";
exit;
}
}
}
}
?>
2.167 views