begin process at 2012 05 27 18:18:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > RECUPERER DES INFOS SUR UNE BOITE POP3

RECUPERER DES INFOS SUR UNE BOITE POP3


 Information sur la source

Note :
1 / 10 - par 2 personnes
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Initié Date de création :17/07/2003 Date de mise à jour :18/07/2003 18:50:15 Vu :6 932

Auteur : olid

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Nombre de message dans la boite de réception, emails non lus, etc.

C'est une version plus fouillée (et avec une autre methode) que mon source précédent :

http://www.phpcs.com/article.aspx?Val=684
Dans celui-ci, je recuperais tous les entetes de messages, puis comptais le nombre d'entetes... Plus lent, mais en parsant les entetes vous pourriez récuperer bocoup d'infos ;o) ... Mais attention à la limite de 30s du serveur qui est atteint pour environ 100 mails dans la boite :o((

La fonction ci-dessous renvoie un tableau associatif (etudiez le source pour connaitre le nom des champs ;o) ...Le parametre $type permet de choisir la categorie d'infos que vous voulez recuperer !

Cette fonction est plus rapide que l'autre pour recuperer les nombres d'emails car elle passe directement (et proprement) par les fonctions IMAP prévues à zet effet ! :op  

Source

  • function pop3_mailboxinfos($server , $user , $passwd , $type="NB" , $port=110){
  • /* Paramètres
  • * $server : serveur POP
  • * $user : login
  • * $passwd : mot de passe
  • * $type : type de retour :
  • * 'MSG' -> infos sur les messages uniquements (nombre, récents, non lus)
  • * 'MAILBOX' -> infos sur les messages et sur la boite aus lettres
  • * 'NB' -> nombre de messages récents et nombre total
  • *
  • * Paramètre optionnel
  • * $port : port de connexion au serveur
  • */
  • $connect = "{".$server."/pop3:$port"."}";
  • if ($mbox = @imap_open($connect, $user, $passwd, OP_READONLY))
  • {
  • $type = strtoupper($type);
  • switch($type)
  • {
  • case 'MSG' :
  • if ($status = @imap_status($mbox, $connect."INBOX", SA_ALL))
  • {
  • $retour['messages'] = $status->messages;
  • $retour['recents'] = $status->recent;
  • $retour['non lus'] = $status->unseen ;
  • $retour['uidnext'] = $status->uidnext;
  • $retour['uidvalidity'] = $status->uidvalidity;
  • }
  • else
  • $retour = imap_last_error();
  • break;
  • case 'MAILBOX' :
  • if ($check = @imap_check($mbox))
  • {
  • $retour['date'] = $check->Date;
  • $retour['driver'] = $check->Driver;
  • $retour['mailbox'] = $check->Mailbox;
  • $retour['messages'] = $check->Nmsgs;
  • $retour['recents'] = $check->Recent;
  • }
  • else
  • $retour = imap_last_error();
  • break;
  • case 'NB' :
  • $retour['messages'] = @imap_num_msg($mbox);
  • $retour['recents'] = @imap_num_recent($mbox);
  • break;
  • default :
  • $retour = array();
  • }
  • return $retour;
  • }
  • else
  • return imap_last_error();
  • }
function pop3_mailboxinfos($server , $user , $passwd , $type="NB" , $port=110){ 
 /* Paramètres 
  * $server : serveur POP 
  * $user : login 
  * $passwd : mot de passe 
  * $type : type de retour : 
  * 'MSG' -> infos sur les messages uniquements (nombre, récents, non lus) 
  * 'MAILBOX' -> infos sur les messages et sur la boite aus lettres 
  * 'NB' -> nombre de messages récents et nombre total 
  * 
  * Paramètre optionnel 
  * $port : port de connexion au serveur 
  */ 
  
  $connect = "{".$server."/pop3:$port"."}"; 
  if ($mbox = @imap_open($connect, $user, $passwd, OP_READONLY)) 
  { 
  $type = strtoupper($type); 
  switch($type) 
  { 
  case 'MSG' : 
  if ($status = @imap_status($mbox, $connect."INBOX", SA_ALL)) 
  { 
  $retour['messages'] = $status->messages; 
  $retour['recents'] = $status->recent; 
  $retour['non lus'] = $status->unseen ; 
  $retour['uidnext'] = $status->uidnext; 
  $retour['uidvalidity'] = $status->uidvalidity; 
  } 
  else 
  $retour = imap_last_error(); 
  break; 
  case 'MAILBOX' : 
  if ($check = @imap_check($mbox)) 
  { 
  $retour['date'] = $check->Date; 
  $retour['driver'] = $check->Driver; 
  $retour['mailbox'] = $check->Mailbox; 
  $retour['messages'] = $check->Nmsgs; 
  $retour['recents'] = $check->Recent; 
  } 
  else 
  $retour = imap_last_error(); 
  break; 
  case 'NB' : 
  $retour['messages'] = @imap_num_msg($mbox); 
  $retour['recents'] = @imap_num_recent($mbox); 
  break; 
  default : 
  $retour = array(); 
  } 
  return $retour; 
  } 
  else 
  return imap_last_error(); 
}  



 Sources du même auteur

GÉNÉRER UN LOG AU FORMAT APACHE POUR FAIRE DES STATISTIQUES ...
RÉSUMER UN TEXTE SANS COUPER LES MOTS OU PHRASES
TEMPS ÉCOULÉ (DURÉE) ENTRE 2 DATES SOUS FORME LITTÉRAL NATUR...
RACCOURCIR INTELLIGEMMENT UNE URL POUR L'AFFICHAGE SUR UNE P...
AFFICHER UNE DATE-HEURE RÉCENTE DANS UN FORMAT NATUREL ET LI...

 Sources de la même categorie

Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

Commentaires et avis

Commentaire de mathieumg le 18/07/2003 03:46:19

Marche po :( :

<?
function pop3_mailboxinfos($server,$user,$passwd,$type,$port){
/* Paramètres
    * $server : serveur POP
    * $user : login
    * $passwd : mot de passe
    * $type : type de retour :
    * 'MSG' -> infos sur les messages uniquements (nombre, récents, non lus)
    * 'MAILBOX' -> infos sur les messages et sur la boite aus lettres
    * 'NB' -> nombre de messages récents et nombre total
    *
    * Paramètre optionnel
    * $port : port de connexion au serveur
    */
    
    $connect = "{".$server."/pop3:$port"."}";
    if ($mbox = @imap_open($connect, $user, $passwd, OP_READONLY))
    {
    $type = strtoupper($type);
    switch($type)
    {
    case 'MSG' :
    if ($status = @imap_status($mbox, $connect."INBOX", SA_ALL))
    {
    $retour['messages'] = $status->messages;
    $retour['recents'] = $status->recent;
    $retour['non lus'] = $status->unseen ;
    $retour['uidnext'] = $status->uidnext;
    $retour['uidvalidity'] = $status->uidvalidity;
    }
    else
    $retour = imap_last_error();
    break;
    case 'MAILBOX' :
    if ($check = @imap_check($mbox))
    {
    $retour['date'] = $check->date;
    $retour['driver'] = $check->Driver;
    $retour['mailbox'] = $check->Mailbox;
    $retour['messages'] = $check->Nmsgs;
    $retour['recents'] = $check->Recent;
    }
    else
    $retour = imap_last_error();
    break;
    case 'NB' :
    $retour['messages'] = @imap_num_msg($mbox);
    $retour['recents'] = @imap_num_recent($mbox);
    break;
    default :
    $retour = array();
    }
    return $retour;
    }
    else
    return imap_last_error();
}

print(pop3_pop3_mailboxinfos("mail.serveur.com","mathieumg","xxxxxxxx","MAILBOX","110"));
?>

Commentaire de olid le 18/07/2003 09:39:06

za devrait aller mieux zi tu retire un "pop3_" dans ton print ! :o|

Commentaire de randiox le 18/07/2003 14:13:17

1-le lien que tu donnes en haut n'a pas l'air d'etre bon ('ceci n'est pas votre source' qu'il me dit le site ;) )
2- ton script ressemble étrangement a celui ci http://dev.nexen.net/scripts/details.php?scripts=464
(memes arguments passés a la fct+ meme systeme avec le array $type ...)

sinon c clean comme source ;)

Commentaire de mathieumg le 18/07/2003 14:32:39

Oui au moins l'a ya pas d'erreur mais rien, surement ç cause que je n'ai pas de nouveaux mails.

Merci

Mathieu M-G
http://www.maxicom.ca.tc

Commentaire de olid le 18/07/2003 18:57:46

Dézolé randiox, il fallait comprendre :
http://www.phpcs.com/article.aspx?Val=689
Et voui, les 2 viennent bien de Nexen, moyennant de pitite modifs ;op

Dis nous quoi, mathieu ;o)

Commentaire de olid le 18/07/2003 19:00:07

Oulà, zai du mal... http://www.phpcs.com/article.aspx?Val=684

Bon, vais rentrer chez moà : WEEEEKKKKKKEEEENNNNNDDDD :o)

Commentaire de Foxracing le 30/11/2005 17:02:32

pourquoi ??  Notice: (null)(): Read-only POP3 access not available (errflg=2) in Unknown on line 0

Commentaire de astuces_jeux le 05/01/2007 09:12:39

Si le lien en haut est bon !!!

Commentaire de espada le 05/07/2007 10:53:29

salut, j'ai pas bien compris le code mais ça va!
dites, y a pas un truc pour marquer un email comme lu???
please, aider moi

Commentaire de olid le 05/07/2007 11:19:49

@Espada: il faudra faire joujou avec les API de PHP pour le protocole IMAP ;o)

Commentaire de informatique7 le 01/03/2010 10:39:26

comment faite pour accéder aux contacts

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales