$hcaptchaSecret, 'response' => $responseKey ); $checkRequest = curl_init(); curl_setopt($checkRequest, CURLOPT_URL, $hcaptchaVerifyUrl); curl_setopt($checkRequest, CURLOPT_POST, 1); curl_setopt($checkRequest, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($checkRequest, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($checkRequest); curl_close($checkRequest); $responseData = json_decode($response, true); if(!$responseData['success']) { $errors[] = "Erreur lors de la validation du captcha."; } } else { $errors[] = "Erreur lors de la validation du captcha."; } $name = $_POST['namezzz']; $emailAddress = $_POST['emailzzz']; $select = $_POST['select']; $message = $_POST['message']; $subscribe = $_POST['subscribe']; if (!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) { $errors[] = "Erreur d'adresse e-mail invalide : $emailAddress"; } if(empty($errors)) { try { $emailSubject = "[Formulaire Astrolabe] Nouveau message"; switch ($select) { case "option 1": $purpose = "Demande de rendez-vous"; break; case "option 2": $purpose = "Demande de précisions sur le statut d'entrepreneur salarié"; break; case "option 3": $purpose = "Proposition de misson"; break; case "option 4": $purpose = "Proposition de partenariat"; break; default: $purpose = "Autre demande"; } $emailSubject .= " : $purpose"; $emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :". "\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$message"; $emailBodyHTML = str_replace("\r\n", "
", $emailBody); $mail->isSMTP(); $mail->Host = getenv('ASTRO_SMTP_HOSTNAME'); $mail->SMTPAuth = true; $mail->Username = getenv('ASTRO_SMTP_USERNAME'); $mail->Password = getenv('ASTRO_SMTP_PASSWORD'); $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; //Options $mail->CharSet = 'UTF-8'; $mail->WordWrap = 70; //Recipients $mail->setFrom($myEmail); $mail->addAddress($wantedContact); $mail->addReplyTo($emailAddress, $name); // Content $mail->isHTML(true); $mail->Subject = $emailSubject; $mail->Body = $emailBodyHTML; $mail->AltBody = $emailBody; $mail->send(); // if subscribe add to mailing list if(!empty($subscribe)) { // process // enovoi mail add to mailing list } http_response_code(200); echo json_encode([ 'success' => true, 'message' => 'Message envoyé avec succès' ]); } catch (Exception $e) { http_response_code(500); echo json_encode([ 'success' => false, 'errors' => ["Erreur lors de l'envoi du message : " . $mail->ErrorInfo] ]); } } else { http_response_code(400); echo json_encode([ 'success' => false, 'errors' => $errors ]); }