Voici plusieurs méthodes pour récupérer la liste des adresses email des utilisateurs et des commentateurs d’un site WordPress.
On peut le faire directement en SQL, avec WP-CLI, ou en exportant un fichier CSV. La meilleure méthode dépend de votre accès au serveur, du volume de données, du besoin exact, et du contexte dans lequel vous voulez utiliser ces emails.
Petite précision avant de commencer : une adresse email est une donnée personnelle. Techniquement, l’export est simple. Juridiquement, l’usage doit rester conforme au consentement donné par les personnes et à votre politique de confidentialité. Pour une newsletter ou de la prospection, on ne mélange pas “a commenté un article en 2014” avec “a demandé à recevoir mes emails marketing”. La CNIL rappelle que, pour les particuliers, la prospection par email nécessite en principe un consentement préalable, libre, spécifique, éclairé et univoque. CNIL : prospection commerciale par courrier électronique
Emails des membres WordPress
Dans WordPress, les utilisateurs enregistrés sont stockés dans la table wp_users si le préfixe de base de données est wp_. Cette table contient notamment la colonne user_email. La documentation du schéma de base WordPress liste bien wp_users comme table des utilisateurs. WordPress Codex : Database Description
La requête SQL la plus simple pour récupérer les emails des membres est :
SELECT DISTINCT user_email
FROM wp_users
WHERE user_email <> ''
ORDER BY user_email ASC;Code language: HTML, XML (xml)
La clause DISTINCT évite les doublons. Le GROUP BY n’est pas nécessaire ici, car on ne fait pas d’agrégation. DISTINCT suffit.
Si votre préfixe WordPress n’est pas wp_, adaptez le nom de table :
SELECT DISTINCT user_email
FROM monprefix_users
WHERE user_email <> ''
ORDER BY user_email ASC;Code language: HTML, XML (xml)