Un plan très approximatif, en supposant que vous ayez déjà une table de base de données.
Chaque jour, exécutez un script qui calcule aujourd'hui moins un mois (résolu dans la réponse de Stratton) et effectue un select * from databasetable where expirydate = todayminusonemonth
. Parcourez le jeu de résultats, composez un message avec les informations spécifiques de la cible et envoyez-le à l'aide de l'interface de messagerie de php.
C'est de loin la solution la plus simple pour s'assurer que le script s'exécute tous les jours, si ce n'est pas une option, une colonne doit être ajoutée à la base de données pour indiquer que le courrier a été envoyé. Ou un tableau supplémentaire listant tous les jours pour lesquels des mails ont été envoyés pourrait être créé...
Voir? Cette première décomposition du problème était assez facile. Vous pouvez maintenant commencer à résoudre chacun de ces problèmes partiels ou rechercher des informations/tutoriels pour chacun. N'hésitez pas à créer une nouvelle question avec des besoins plus spécifiques que vous pourriez avoir.
Un problème que vous pouvez rencontrer est que votre hébergeur n'autorise pas l'exécution des scripts cron. Une solution alternative très créative utilisant un service de surveillance de site Web est expliquée dans Je n'ai pas de tâches cron sur mon serveur. Quelle alternative à l'envoi d'e-mails sans intervention de l'utilisateur ?