/** * KEA 31ème Convention Nationale — Email recap via wp_mail */ // Inject kea_ajax JS variable via wp_head add_action('wp_head', function () { if (is_page('31-eme-convention-nationale-des-lions-clubs-international-district-414-tunisie')) { $nonce = wp_create_nonce('kea_send_email'); $url = admin_url('admin-ajax.php'); echo ' ' . "\n"; } }); // AJAX handler (logged-in + non-logged-in) add_action('wp_ajax_kea_send_recap_email', 'kea_send_recap_email'); add_action('wp_ajax_nopriv_kea_send_recap_email', 'kea_send_recap_email'); function kea_send_recap_email() { // Vérifier le nonce if (! wp_verify_nonce($_POST['nonce'] ?? '', 'kea_send_email')) { wp_send_json_error(['message' => 'Nonce invalide'], 403); } $to = sanitize_email($_POST['email_to'] ?? ''); $subject = sanitize_text_field($_POST['email_subject'] ?? ''); $html = wp_kses_post($_POST['email_html'] ?? ''); if (! is_email($to) || empty($subject) || empty($html)) { wp_send_json_error(['message' => 'Données manquantes']); } $headers = [ 'Content-Type: text/html; charset=UTF-8', 'From: 31ème Convention Nationale ', 'Reply-To: convention@lionsclubstunisie.com', ]; $sent = wp_mail($to, $subject, $html, $headers); if ($sent) { wp_send_json_success(['message' => 'Email envoyé']); } else { wp_send_json_error(['message' => 'Échec envoi email']); } }