Script de suppression de mails

Helene17400
Invité n'ayant pas de compte PHPfrance

10 sept. 2019, 10:37

Bonjour à tous,

Je suis actuellement en stage et on me demande faire un script qui permettrait de supprimer une certaine quantité de mails à chaque connexion de l'utilisateur.
Je n'ai jamais fait ce genre de chose pendant ma formation alors j'avoue que je patauge un peu.

J'ai bien vu les fonctions IMAP dans la doc PHP. J'ai fait des recherches sur le net mais impossible de trouver un script. En plus il faut que ce soit fait en procédural et que je l'exécute via une console en lignes de commande. Je pense avoir trouvé comment faire pour la console mais ça ne fonctionne pas.

Je vous remercie d'avance.

A bientôt.

Mammouth du PHP | 991 Messages

10 sept. 2019, 23:36

Bonjour Helene17400,

Je pense pas que tu puisses trouver un script tout fait, pour faire ce que tu recherches.
Je t'invite à lire ces ensembles de fonction, https://www.php.net/manual/fr/ref.imap.php en faisant attention si imap est bien activé sur ta version de php (un php -m, en ligne de commande te renseignera)

Pour la ligne de commande, si tu es sous un système LINUX/UNIX/MACOS ce sera simple, sous windows c'est un peu plus tricky, mais nettement facilité par W10.
Ouvre une boite de commande, accède à ton dossier avec la commande "cd <tonChemin>" et exécute ton code avec la commande php ./tonSuperScript.php

Code : Tout sélectionner

<?php $mbox = imap_open("{imap.example.org}INBOX", "username", "password") or die("Connexion impossible : " . imap_last_error()); $check = imap_mailboxmsginfo($mbox); echo "Nombre de messages avant effacement : " . $check->Nmsgs . "<br />\n"; foreach($mesMailsASupprimer as $mail) { imap_delete($mbox, $mail); // (mail doit être un int) } $check = imap_mailboxmsginfo($mbox); echo "Nombre de messages après effacement : " . $check->Nmsgs . "<br />\n"; imap_expunge($mbox); $check = imap_mailboxmsginfo($mbox); echo "Nombre de messages après imap_expunge : " . $check->Nmsgs . "<br />\n"; imap_close($mbox);
Bon courage
Ps: cette exemple est adapté du premier code exemple de la page : https://www.php.net/manual/fr/function.imap-delete.php
DevOps, Symfony4, Hoa