2009-10-21 7 views
2

Je veux créer un script en php pour lire tous les messages d'un compte de messagerie. Je me connecte au serveur, je peux voir les mails mais je suis allée le ramener à l'invisible je ne trouve pas de fonction pour le faire.IMAP dans Php: marquage d'un message non lu/non lu

+0

Veuillez donner plus d'informations. Quelle est exactement votre question? Qu'essayez-vous exactement d'accomplir? – Abinadi

Répondre

9

Si je comprends correctement cette page:

http://www.php.net/manual/en/function.imap-body.php

Vous pouvez utiliser l'option FT_PEEK pour laisser le message comme 'non lu'.

EDIT APRÈS VOS COMMENTAIRES

Avez-vous regardé cette méthode ?:

http://www.php.net/manual/en/function.imap-clearflag-full.php

Vous pouvez effacer le \\ Seen.

+0

Je le sais. Mais si voir le corps et que je retourne à index.php comment puis-je le remettre à l'invisible? – Emanuel

+0

Je suis désolé - je ne comprends pas exactement ce que vous essayez de faire. Pouvez-vous donner une explication étape par étape? – Vamos

+2

Dans n'importe quel client de messagerie (Yahoo Mail, GMail ...) vous avez cette option: "Marquer comme non lu", "Marquer comme lu". Comment peut-on faire quelque chose comme ça en PHP? – Emanuel

-1

mis simplement un lien comme si

<a class"setunread" href="#">Set As Unread</a> 

et lien à une fonction de clic pour envoyer au serveur via ajax .class « setunread ».

<script type="text/javascript"> 
     $(document).ready(function() { 

     $(function(){ 
      $('.setunread').click(function(){ 
       var message_status=<?php echo $messagecall['message_status'] ;?>; 
       $.ajax({ 
        type: "POST", 
        url: "updatemessages.php?message_status="+message_status, 
        dataType:"json", 
        success: function(datamessage) { 
        } 
       }); 
       return false; 
      }); 
     }); 
     }); 
     </script> 

Et puis à vous Php relierait à votre base de données et définir $_POST['message_status'] et le sécuriser dans une variable lors de l'insertion dans le serveur $status=mysqli_real_escape_string($mysqli,$_POST['message_status']); mise en l'état à 0 comme invisible Observable est message_status=1. Évidemment vous ajouteriez plus de données dans le code de côté de serveur (Votre dossier de PHP) pour sélectionner un message individuel pour remettre à l'écran mais si vous posez une telle question, alors je crois que vous devriez avoir une certaine connaissance de comment construire sur ceci . Je sais que c'est vieux, mais cela peut aider quelqu'un à être un peu plus clair avec de tels problèmes.

+3

Comment cela est-il, de quelque manière que ce soit, lié à Mail et IMAP? – Dragos

+0

La question est liée au protocole IMAP, pas avec un drapeau dans un enregistrement de base de données via un lien HTML –

Questions connexes