🐛 Fix: retour JSON contact

This commit is contained in:
2026-02-04 22:33:46 +01:00
parent f051f3738e
commit 9f89294952
11 changed files with 218 additions and 39 deletions

View File

@@ -46,3 +46,10 @@ define('RECAPTCHA_SITE_KEY', env('RECAPTCHA_SITE_KEY', ''));
define('RECAPTCHA_SECRET_KEY', env('RECAPTCHA_SECRET_KEY', ''));
define('RECAPTCHA_THRESHOLD', (float) env('RECAPTCHA_THRESHOLD', '0.5'));
define('CONTACT_EMAIL', env('CONTACT_EMAIL', 'contact@example.com'));
define('MAIL_HOST', env('MAIL_HOST', ''));
define('MAIL_PORT', (int) env('MAIL_PORT', '587'));
define('MAIL_USERNAME', env('MAIL_USERNAME', ''));
define('MAIL_PASSWORD', env('MAIL_PASSWORD', ''));
define('MAIL_ENCRYPTION', env('MAIL_ENCRYPTION', 'tls'));
define('MAIL_FROM', env('MAIL_FROM', CONTACT_EMAIL));
define('MAIL_FROM_NAME', env('MAIL_FROM_NAME', 'Portfolio'));

View File

@@ -341,19 +341,32 @@ IP: {$data['ip']}
============================================
EMAIL;
$headers = implode("\r\n", [
'From: ' . CONTACT_EMAIL,
'Reply-To: ' . $data['email'],
'Content-Type: text/plain; charset=UTF-8',
'X-Mailer: PHP/' . phpversion(),
'X-Priority: 1'
]);
$mail = new \PHPMailer\PHPMailer\PHPMailer(true);
$result = mail(CONTACT_EMAIL, $subject, $body, $headers);
try {
if (MAIL_HOST) {
$mail->isSMTP();
$mail->Host = MAIL_HOST;
$mail->SMTPAuth = true;
$mail->Username = MAIL_USERNAME;
$mail->Password = MAIL_PASSWORD;
$mail->SMTPSecure = MAIL_ENCRYPTION;
$mail->Port = MAIL_PORT;
} else {
$mail->isMail();
}
if (!$result) {
error_log('Échec envoi email contact: ' . print_r($data, true));
$mail->CharSet = 'UTF-8';
$mail->setFrom(MAIL_FROM, MAIL_FROM_NAME);
$mail->addAddress(CONTACT_EMAIL);
$mail->addReplyTo($data['email'], "{$data['prenom']} {$data['nom']}");
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = $body;
return $mail->send();
} catch (\PHPMailer\PHPMailer\Exception $e) {
error_log('Échec envoi email contact: ' . $e->getMessage());
return false;
}
return $result;
}