defined('ABSPATH') || exit; function asvq_envoyer_emails_en_attente() { global $wpdb; $entetes = array( 'Content-Type: text/html; charset=UTF-8', 'From: ASVQ ' ); $emails_en_attente = $wpdb->get_results(" SELECT * FROM wp_infolettre_queue WHERE statut_envoi = 'en_attente' LIMIT 200 "); foreach ($emails_en_attente as $email) { $envoi_reussi = wp_mail($email->email, $email->sujet, $email->contenu, $entetes); $wpdb->update( 'wp_infolettre_queue', [ 'date_envoi' => current_time('mysql', 1), 'statut_envoi' => $envoi_reussi ? 'envoyé' : 'échec', ], ['id' => $email->id] ); // Pause pour éviter dépassement de quota Gmail sleep(3); } } function asvq_envoyer_emails_en_attente_ca() { global $wpdb; $entetes = array( 'Content-Type: text/html; charset=UTF-8', 'From: ASVQ ' ); $emails_en_attente = $wpdb->get_results(" SELECT * FROM wp_infolettre_queue_ca WHERE statut_envoi = 'en_attente' LIMIT 90 "); foreach ($emails_en_attente as $email) { $envoi_reussi = wp_mail($email->email, $email->sujet, $email->contenu, $entetes); $wpdb->update( 'wp_infolettre_queue_ca', [ 'date_envoi' => current_time('mysql', 1), 'statut_envoi' => $envoi_reussi ? 'envoyé' : 'échec', ], ['id' => $email->id] ); // Pause pour éviter dépassement de quota Gmail sleep(3); } }