Forum Programmation.php Lecture du courrier utilisateur

Posté par  .
Étiquettes :
0
28
août
2007
Bonjour à tous,

J'aimerais pouvoir lire le courrier d'un utilisateur sur mon serveur Debian via un script PHP / shell.
Le but est simple, lire un par un les mails en attente sur mon compte utilisateur et les analyser. En fonction des mots clé contenus dans mes mails je les supprimerais ou non. J'ai besoin d'un script PHP derrière car si je détécte certain de mots, je souhaite extraire ces mots pour les enregistrer dans une BDD, puis supprimer le mail après.

Est-ce quelqu'un connait une méthode pour réaliser ce script ?

Petit résumé algorithmico-synthétique :

Lire Courrrier Utilisateur
Si mail
Pour chaque mail faire
Extraire contenu
Suppresion ou non du mail
Sinon
return false

Merci à tous, j'espère avoir été clair ;)
  • # courier

    Posté par  . Évalué à -2.

    Tu veux le script PHP servant d'interface veres la base (requete SQl) ou ...
    Car t'es pas trop explicite dans le la section enregistrement dans un BD
    • [^] # Re: courier

      Posté par  . Évalué à 1.

      Non,

      Je souhaiterais avoir le script qui me permet de récuppérer les mails.
      Une fois que je possède les mails dans une variable php par exemple après je me débrouille.
      Mon pb est d'arriver, via php, à lire les mails et pouvoir en extraire le contenu.
      • [^] # Re: courier

        Posté par  . Évalué à 1.

        Afin d'être encore plus explicite, pour ceux qui ont un serveur j'aimerais pouvoir faire exactement comme l'interface de lecture des mails de Webmin (en bcp plus simple).
        Pour lire mes mails de compte utilisateur mail / mail.

        Personne ne peux m'aider ?
      • [^] # Re: courier

        Posté par  . Évalué à 1.

        Si c'est une boîte de /var/mail en Mbox, c'est pas compliqué :

        $messages = explode("\n\nFrom ", file_get_contents('/var/mail/[login]'));
        • [^] # Re: courier

          Posté par  . Évalué à 1.

          Meric bcp Kouenny !!
          C'est exactement ce que je voulais !!!
          Pb résolu !
          • [^] # Re: courier

            Posté par  . Évalué à 1.

            En fait non, une dernière question reste en suspent...
            Une fois que j'ai mes mails dans mon tableau $messages, comment faire pour le supprimer de ma boite (uniquement le mail que je traite) ?
            • [^] # Re: courier

              Posté par  . Évalué à 1.

              Le plus simple c'est de réécrire complètement le fichier mbox avec uniquement les messages que tu conserve :

              // On récupère
              $messages = preg_split("/\n\n(?=From )/", file_get_contents("/var/mail/[login]"));

              // Suppression du premier message
              unset($messages[0]);

              // On réécrit
              file_put_contents("/var/mail/[login]", implode("\n\n", $messages);


              J'ai remplacé le explode par un preg_split pour conserver le "From " au début de chaque message.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.