begin process at 2012 05 27 19:30:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > NOUVEAUX MESSAGES SUR YAHOO MAIL

NOUVEAUX MESSAGES SUR YAHOO MAIL


 Information sur la source

Note :
10 / 10 - par 5 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Classé sous :yahoo, mail, curl, http Niveau :Initié Date de création :20/08/2005 Date de mise à jour :02/09/2005 11:55:46 Vu :20 272

Auteur : malik7934

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

 Description

Je me suis demandé s'il y avait un moyen pour moi de créer une page perso qui me dise sur lesquels de mes comptes mail j'ai des nouveaux mails...

Cette source ici vous permet de vous connecter à Yahoo Mail sans passer par leur interface et en utilisant les fonctions CURL. Elle permet de récupérer le nombre de nouveaux mails que vous avez et ensuite, vous en fait ce que vous voulez (mettre dans un flux RSS, sur votre page perso, ...). Pour ma part, ce chiffre vient s'ajouter aux récupérations des autres comptes mails que j'ai.

Vous remarquerez la structure un peu dingue du code: c'est du au protocole de connection de yahoo. J'ai pu réaliser ce code en observant attentivement la discussion entre mon browser et yahoo mail (thanx HTTPWatch)...

Ce code ne fonctionnera pas pour un autre mail. Logique.

Source

  • <?php
  • /* fonction pour se connecter à son mail sur Yahoo et récupérer le nbre de msgs non lus */
  • function connect_to_yahoomail($login,$pwd){
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // get_hiddeninput: permet de récupérer les valeurs des éléments input de type hidden
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • function get_hiddeninput($header){
  • preg_match_all("/<(input type=\"hidden\" name=\")([^(\"|>)]*)(\")?( value=\")([^(\"|>)]*)(\")?>/", $header, $match);
  • return $match[5];
  • }
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // get_cookies: permet de récupérer les cookies d'un header
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • function get_cookies($header){
  • preg_match_all("!Set-Cookie: ([^;\s]+)($|;)!", $header, $match);
  • $cookie = '';
  • foreach ($match[1] as $val) {
  • if ($val{0} == '=') {
  • continue;
  • }
  • $cookie .= $val . ';';
  • }
  • return substr($cookie, 0, -1);
  • }
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 1: on se connecte a mail.yahoo.com et on récupère les infos
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • // infos fixes (jusqu'à preuve du contraire, $Y et $Q sont fixes)
  • $url = 'http://mail.yahoo.com';
  • $agt = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)';
  • $Y = 'Y=v=1&n=70iiku0etse8o&l=c0b8axztu/o&p=m2bvvch012000000&iz=1022&r=eq&lg=fr&intl=fr&np=1';
  • $Q = 'Q=q1=AACAAAAAAAAAAA--&q2=QwZEag--';
  • // on contact l'url en envoyant le cookie $Y et on récupère la page de réponse ($resultat)
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  • curl_setopt($ch, CURLOPT_URL, $url);
  • curl_setopt($ch, CURLOPT_USERAGENT, $agt);
  • curl_setopt($ch, CURLOPT_HEADER, TRUE);
  • curl_setopt($ch, CURLOPT_COOKIE,$Y);
  • $resultat = curl_exec($ch);
  • curl_close($ch);
  • $B = get_cookies($resultat); // dans la réponse, il y a le cookie 'B'
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 2: récupération des données de la page (les hidden) et construction du post
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • // La structure de données suivante est née d'une observation attentive de mail.yahoo.com :o)
  • $hidden = get_hiddeninput($resultat); // récupère les input de type hidden
  • $pwd = md5(md5($pwd).$hidden[12]); // hashage du mot de passe
  • $getdata = '.tries='.$hidden[0];
  • $getdata .= '&.src='.$hidden[1];
  • $getdata .= '&.md5='.$hidden[2];
  • $getdata .= '&.hash='.$hidden[3];
  • $getdata .= '&.js='.$hidden[4];
  • $getdata .= '&.last='.$hidden[5];
  • $getdata .= '&promo='.$hidden[6];
  • $getdata .= '&.intl='.$hidden[7];
  • $getdata .= '&.bypass='.$hidden[8];
  • $getdata .= '&.partner='.$hidden[9];
  • $getdata .= '&.u='.$hidden[10];
  • $getdata .= '&.v='.$hidden[11];
  • $getdata .= '&.challenge='.$hidden[12];
  • $getdata .= '&.yplus='.$hidden[13];
  • $getdata .= '&.emailCode='.$hidden[14];
  • $getdata .= '&pkg='.$hidden[15];
  • $getdata .= '&stepid='.$hidden[16];
  • $getdata .= '&.ev='.$hidden[17];
  • $getdata .= '&hasMsgr='.$hidden[18];
  • $getdata .= '&.chkP='.$hidden[19];
  • $getdata .= '&.done='.str_replace(':','%3A',$hidden[20]);
  • $getdata .= '&login='.$login;
  • $getdata .= '&passwd='.$pwd;
  • $getdata .= '&.persistent=';
  • $getdata .= '&.hash=1';
  • $getdata .= '&.md5=1';
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 3: Emploi des données pour atteindre http://login.yahoo.com/config/login
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • $url = 'http://us.rd.yahoo.com/reg/login1/newym_nouc/suli/login/us/ym/*http://login.yahoo.com/config/login';
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  • curl_setopt($ch, CURLOPT_URL, $url.'?'.$getdata);
  • curl_setopt($ch, CURLOPT_USERAGENT, $agt);
  • curl_setopt($ch, CURLOPT_HEADER, TRUE);
  • curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q);
  • $resultat = curl_exec($ch);
  • curl_close($ch);
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 4: Traitement des données recues et renvoi
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • $getdata = '.tries='.$hidden[0];
  • $getdata .= '&.src='.$hidden[1];
  • $getdata .= '&.md5='.$hidden[2];
  • $getdata .= '&.hash='.$hidden[3];
  • $getdata .= '&.js=1';
  • $getdata .= '&.last='.$hidden[5];
  • $getdata .= '&promo='.$hidden[6];
  • $getdata .= '&.intl='.$hidden[7];
  • $getdata .= '&.bypass='.$hidden[8];
  • $getdata .= '&.partner='.$hidden[9];
  • $getdata .= '&.u='.$hidden[10];
  • $getdata .= '&.v='.$hidden[11];
  • $getdata .= '&.challenge='.$hidden[12];
  • $getdata .= '&.yplus='.$hidden[13];
  • $getdata .= '&.emailCode='.$hidden[14];
  • $getdata .= '&pkg='.$hidden[15];
  • $getdata .= '&stepid='.$hidden[16];
  • $getdata .= '&.ev='.$hidden[17];
  • $getdata .= '&hasMsgr=1';
  • $getdata .= '&.chkP='.$hidden[19];
  • $getdata .= '&.done='.str_replace(':','%3A',$hidden[20]);
  • $getdata .= '&login='.$login;
  • $getdata .= '&passwd='.$pwd;
  • $getdata .= '&.persistent=';
  • $getdata .= '&.hash=1';
  • $getdata .= '&.md5=1';
  • $url = 'http://login.yahoo.com/config/login';
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  • curl_setopt($ch, CURLOPT_URL, $url.'?'.$getdata);
  • curl_setopt($ch, CURLOPT_USERAGENT, $agt);
  • curl_setopt($ch, CURLOPT_HEADER, TRUE);
  • curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q);
  • $resultat = curl_exec($ch);
  • curl_close($ch);
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 5: Traitement des données recues et renvoi
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • $cookie = get_cookies($resultat);
  • $cookies = split(";",$cookie);
  • $F = $cookies[0];
  • $Y = $cookies[1];
  • $T = $cookies[2];
  • $C = $cookies[3];
  • preg_match_all("!Location: (.*)!", $resultat, $url);
  • $url = $url[1][0]; // récupération de l'url dans le header
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  • curl_setopt($ch, CURLOPT_URL, $url);
  • curl_setopt($ch, CURLOPT_USERAGENT, $agt);
  • curl_setopt($ch, CURLOPT_HEADER, TRUE);
  • curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q.';'.$F.';'.$T.';'.$C);
  • $resultat = curl_exec($ch);
  • curl_close($ch);
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 6: Traitement des données recues et renvoi (et voui, c'est répétitif!)
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • preg_match_all("!Location: (.*)!", $resultat, $url);
  • $url = $url[1][0];
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  • curl_setopt($ch, CURLOPT_URL, $url);
  • curl_setopt($ch, CURLOPT_USERAGENT, $agt);
  • curl_setopt($ch, CURLOPT_HEADER, TRUE);
  • curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q.';'.$F.';'.$T.';'.$C);
  • $resultat = curl_exec($ch);
  • curl_close($ch);
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //
  • // Etape 7: On est entré, reste à récupérer le nombre de messages non lus
  • //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • // ici, on pourrait s'amuser à faire autre chose, mais tout ce qui m'intéresse,
  • // c'est le nombre de messages
  • $rep = strstr($resultat, 'ception ('); // j'évite les accents comme ça :)
  • $tmp = strstr($resultat, 'ception ('); // je parse un peu à la sauvage...
  • $tmp = strstr($tmp, ')'); // (c'est pas trop ma spécialité)
  • $rep = str_replace($tmp,"", $rep);
  • $rep = substr($rep,9);
  • if ($rep <= 1) $msg = 'vous avez '.$rep.' message non lu';
  • if ($rep > 1) $msg = ' vous avez '.$rep.' messages non lus';
  • return $msg;
  • }
  • /* on récupère le nombre de messages non lus */
  • $msg = connect_to_yahoomail('malik7934','XXXXXX');// login et password
  • // à partir de la, vous faites ce que vous voulez de $msg :)
  • ?>
<?php

/* fonction pour se connecter à son mail sur Yahoo et récupérer le nbre de msgs non lus */

function connect_to_yahoomail($login,$pwd){

///////////////////////////////////////////////////////////////////////////////////////
//
//  get_hiddeninput: permet de récupérer les valeurs des éléments input de type hidden
//
///////////////////////////////////////////////////////////////////////////////////////

function get_hiddeninput($header){

	preg_match_all("/<(input type=\"hidden\" name=\")([^(\"|>)]*)(\")?( value=\")([^(\"|>)]*)(\")?>/", $header, $match);
	return $match[5];
}

///////////////////////////////////////////////////////////////////////////////////////
//
//  get_cookies: permet de récupérer les cookies d'un header
//
///////////////////////////////////////////////////////////////////////////////////////

function get_cookies($header){

    	preg_match_all("!Set-Cookie: ([^;\s]+)($|;)!", $header, $match);

    	$cookie = '';
    	foreach ($match[1] as $val) {
        	if ($val{0} == '=') {
            		continue;
        	}
        	$cookie .= $val . ';';
    	}
    	return substr($cookie, 0, -1);
}


///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 1: on se connecte a mail.yahoo.com et on récupère les infos
//
///////////////////////////////////////////////////////////////////////////////////////

// infos fixes (jusqu'à preuve du contraire, $Y et $Q sont fixes)

$url = 'http://mail.yahoo.com';
$agt = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)';
$Y = 'Y=v=1&n=70iiku0etse8o&l=c0b8axztu/o&p=m2bvvch012000000&iz=1022&r=eq&lg=fr&intl=fr&np=1';
$Q = 'Q=q1=AACAAAAAAAAAAA--&q2=QwZEag--';

// on contact l'url en envoyant le cookie $Y et on récupère la page de réponse ($resultat)

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agt);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIE,$Y);
$resultat = curl_exec($ch);
curl_close($ch);

$B = get_cookies($resultat); // dans la réponse, il y a le cookie 'B'

///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 2: récupération des données de la page (les hidden) et construction du post
//
///////////////////////////////////////////////////////////////////////////////////////

// La structure de données suivante est née d'une observation attentive de mail.yahoo.com :o)

$hidden = get_hiddeninput($resultat); // récupère les input de type hidden

$pwd = md5(md5($pwd).$hidden[12]); // hashage du mot de passe

$getdata  = '.tries='.$hidden[0];
$getdata .= '&.src='.$hidden[1];
$getdata .= '&.md5='.$hidden[2];
$getdata .= '&.hash='.$hidden[3];
$getdata .= '&.js='.$hidden[4];
$getdata .= '&.last='.$hidden[5];
$getdata .= '&promo='.$hidden[6];
$getdata .= '&.intl='.$hidden[7];
$getdata .= '&.bypass='.$hidden[8];
$getdata .= '&.partner='.$hidden[9];
$getdata .= '&.u='.$hidden[10];
$getdata .= '&.v='.$hidden[11];
$getdata .= '&.challenge='.$hidden[12];
$getdata .= '&.yplus='.$hidden[13];
$getdata .= '&.emailCode='.$hidden[14];
$getdata .= '&pkg='.$hidden[15];
$getdata .= '&stepid='.$hidden[16];
$getdata .= '&.ev='.$hidden[17];
$getdata .= '&hasMsgr='.$hidden[18];
$getdata .= '&.chkP='.$hidden[19];
$getdata .= '&.done='.str_replace(':','%3A',$hidden[20]);
$getdata .= '&login='.$login;
$getdata .= '&passwd='.$pwd;
$getdata .= '&.persistent=';
$getdata .= '&.hash=1';
$getdata .= '&.md5=1';

///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 3: Emploi des données pour atteindre http://login.yahoo.com/config/login
//
///////////////////////////////////////////////////////////////////////////////////////


$url = 'http://us.rd.yahoo.com/reg/login1/newym_nouc/suli/login/us/ym/*http://login.yahoo.com/config/login';

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url.'?'.$getdata);
curl_setopt($ch, CURLOPT_USERAGENT, $agt);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q);
$resultat = curl_exec($ch);
curl_close($ch);

///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 4: Traitement des données recues et renvoi
//
///////////////////////////////////////////////////////////////////////////////////////

$getdata  = '.tries='.$hidden[0];
$getdata .= '&.src='.$hidden[1];
$getdata .= '&.md5='.$hidden[2];
$getdata .= '&.hash='.$hidden[3];
$getdata .= '&.js=1';
$getdata .= '&.last='.$hidden[5];
$getdata .= '&promo='.$hidden[6];
$getdata .= '&.intl='.$hidden[7];
$getdata .= '&.bypass='.$hidden[8];
$getdata .= '&.partner='.$hidden[9];
$getdata .= '&.u='.$hidden[10];
$getdata .= '&.v='.$hidden[11];
$getdata .= '&.challenge='.$hidden[12];
$getdata .= '&.yplus='.$hidden[13];
$getdata .= '&.emailCode='.$hidden[14];
$getdata .= '&pkg='.$hidden[15];
$getdata .= '&stepid='.$hidden[16];
$getdata .= '&.ev='.$hidden[17];
$getdata .= '&hasMsgr=1';
$getdata .= '&.chkP='.$hidden[19];
$getdata .= '&.done='.str_replace(':','%3A',$hidden[20]);
$getdata .= '&login='.$login;
$getdata .= '&passwd='.$pwd;
$getdata .= '&.persistent=';
$getdata .= '&.hash=1';
$getdata .= '&.md5=1';

$url = 'http://login.yahoo.com/config/login';

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url.'?'.$getdata);
curl_setopt($ch, CURLOPT_USERAGENT, $agt);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q);
$resultat = curl_exec($ch);
curl_close($ch);

///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 5: Traitement des données recues et renvoi
//
///////////////////////////////////////////////////////////////////////////////////////

$cookie = get_cookies($resultat);
$cookies = split(";",$cookie);
$F = $cookies[0];
$Y = $cookies[1];
$T = $cookies[2];
$C = $cookies[3];

preg_match_all("!Location: (.*)!", $resultat, $url);
$url = $url[1][0]; // récupération de l'url dans le header

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agt);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q.';'.$F.';'.$T.';'.$C);
$resultat = curl_exec($ch);
curl_close($ch);

///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 6: Traitement des données recues et renvoi (et voui, c'est répétitif!)
//
///////////////////////////////////////////////////////////////////////////////////////

preg_match_all("!Location: (.*)!", $resultat, $url);
$url = $url[1][0];

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agt);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIE,$Y.';'.$B.';'.$Q.';'.$F.';'.$T.';'.$C);
$resultat = curl_exec($ch);
curl_close($ch);

///////////////////////////////////////////////////////////////////////////////////////
//
//   Etape 7: On est entré, reste à récupérer le nombre de messages non lus
//
///////////////////////////////////////////////////////////////////////////////////////

// ici, on pourrait s'amuser à faire autre chose, mais tout ce qui m'intéresse,
// c'est le nombre de messages

$rep = strstr($resultat, 'ception (');	// j'évite les accents comme ça :)
$tmp = strstr($resultat, 'ception (');	// je parse un peu à la sauvage...
$tmp = strstr($tmp, ')');		// (c'est pas trop ma spécialité)
$rep = str_replace($tmp,"", $rep);
$rep = substr($rep,9);

if ($rep <= 1) $msg = 'vous avez '.$rep.' message non lu';
if ($rep  > 1) $msg = ' vous avez '.$rep.' messages non lus';

return $msg;
}

/* on récupère le nombre de messages non lus */
$msg = connect_to_yahoomail('malik7934','XXXXXX');// login et password

// à partir de la, vous faites ce que vous voulez de $msg :)
?>

 Conclusion

Je ne m'amuse pas à expliquer les fonctions curl. Pour ca, y a php.net...
Voili voilà! Pas d'abus hein ;)


 Historique

20 août 2005 18:33:44 :
Suppression d'une redondance suite à une remarque d'Anthomicro
02 septembre 2005 11:55:46 :
############ IMPORTANT ############ Suite à une remarque qui m'a été faite, j'ai constaté que le code ne fonctionnait plus. Après quelques investigations du côté de yahoo, je me suis rendu compte qu'ils changeaient de temps à autres les urls de connexion (ce qui peut se régler en parsant) et, pire, la méthode de connexion!!! De fait, il faut voir ce code comme un tut pour apprendre la démarche plutôt que comme une source... désolé :\ ############ IMPORTANT ############

 Sources du même auteur

Source avec Zip Source avec une capture EXÉCUTER UN SCRIPT AU-DELÀ DU TIMEOUT DE PHP
Source avec une capture SAUVEGARDE AUTOMATISÉE DE VOS BASES DE DONNÉES
SAVOIR QUI CONNAÎT QUI DANS UN FORUM/CHAT/...
Source avec une capture CACHER UNE SIGNATURE DANS UNE IMAGE
EXÉCUTER UNE FONCTION SI C'EN EST UNE

 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

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SIMPLE EMAILING SERVICE par mtrix000
FONCTION ENVOI DE MAIL PHP QUI PERMET DE PASSER LE FILTRE AN... par alienat
LIBURL / CURL / COPIE DE SITE. par frunkp
VÉRIFICATION DES URL VALIDE AVEC PHP par dilar
FONCTION GET EN PHP : RECUPERER UNE PAGE SUR UN SITE DISTANT par nax333

Commentaires et avis

Commentaire de Anthomicro le 20/08/2005 17:58:05

Salut,

innovant, simple et efficace. 10/10

# if ($rep == 0) $msg = 'vous avez 0 message non lu';
# if ($rep == 1) $msg = 'vous avez 1 message non lu';
# if ($rep > 1) $msg = ' vous avez '.$rep.' messages non lus';

=>

if ($rep > 1) $msg = ' vous avez '.$rep.' messages non lus';
else $msg = 'vous avez '.$rep.' message non lu';


y'a d'autres détails sans importance, ça ne change rien à la note de toute façon. Bonne continuation :-)

a +

Commentaire de oragore le 21/08/2005 09:30:59

# if ($rep > 1) $msg = ' vous avez '.$rep.' messages non lus';
# else $msg = 'vous avez '.$rep.' message non lu';

=>

if ($rep > 1) $uns = 's';
$msg = 'vous avez '.$rep.' message'.$uns.' non lu'.$uns;

Commentaire de malik7934 le 21/08/2005 09:36:49

ouais bon d'accord... c'est pas l'affichage du résultat qui est sensé attirer l'oeil dans ce code, mais la démarche pour se connecter à Yahoo Mail!

($rep > 1)? $s = 's':''; $msg = 'you have '.$rep.' unread message'.$s;

Voilà une nième possibilité pour remplacer les lignes 225 et 226...

Commentaire de Anthomicro le 21/08/2005 10:40:36

oragore > error_reporting à E_ALL et pouf ton code affiche une erreur de notice...

#if ($rep > 1) $uns = 's';
#$msg = 'vous avez '.$rep.' message'.$uns.' non lu'.$uns;

=>

$uns='';
if ($rep > 1) $uns = 's';
return  'vous avez '.$rep.' message'.$uns.' non lu'.$uns;

Commentaire de Anthomicro le 21/08/2005 10:43:38

"c'est pas l'affichage du résultat qui est sensé attirer l'oeil dans ce code, mais la démarche pour se connecter à Yahoo Mail!"

C'est pour ça que j'ai mis 10 ;-)

Commentaire de massacr le 21/08/2005 11:34:22

Pareil.
Et en plus, ca m'a attiré vers les fonctions CURL, que je ne connaissais pas.
Merci, Mailk, et 10/10. Bravo !!

Commentaire de oragore le 21/08/2005 13:07:43

Justement, héhé, si on trouve que des petits details a redire c'est que le code est super, et pour une fois original, rien a redire.

Comme il n'y a rien  critiquer, allor on suggere ;)

pour Anthomicro, oui dans l'absolut rigueur il faut declarer la variable vide avant de s'en servir, mais c'est pas une erreure critique, ca depend de la config de ton php.ini, les E_ALL sont juste des informations.

En fait c'été histoire de faire plus court que toi, pour le fun, mais c'été pas rigoureu je l'accorde.

Sinon bravo encore pour cette source.

Commentaire de Anthomicro le 21/08/2005 13:11:49

"En fait c'été histoire de faire plus court que toi"

J'ai bien compris... Malheureusement pour toi ton code peut donner des erreurs, pas le mien ni celui que malik a suggéré juste après

"mais c'est pas une erreure critique, ca depend de la config de ton php.ini"

Justement, ton code n'est pas portable :-( (c'est balot)

Commentaire de oragore le 21/08/2005 13:26:45

Mouais ...

Sinon j'ai quand meme noté 10/10

Commentaire de massacr le 21/08/2005 22:51:01

euh, je vais peut etre me faire taper dessus, mais si je fais ceci et que ca marche :
if ($rep > 1) $uns = 's';
$msg = 'vous avez '.$rep.' message'.@$uns.' non lu'.@$uns;
C'est mal ? Bon, soyez pas trop méchant, mais c'est une question que je me pose souvent.
A+

Commentaire de Anthomicro le 21/08/2005 22:52:49

ouais c'est mal mdr

Commentaire de GRenard le 22/08/2005 05:03:39

C'est pas cool faire ca avec des variables qui contiens que les S... parce que après pour la traduction, ce n'est pas une bonne idée.

Commentaire de Anthomicro le 22/08/2005 10:18:40

LOL

Commentaire de malik7934 le 22/08/2005 10:24:52

Bon, vous savez quoi les gars, on va remplacer

# if ($rep <= 1) $msg = 'vous avez '.$rep.' message non lu';
# if ($rep > 1) $msg = ' vous avez '.$rep.' messages non lus';
#  
# return $msg;

par

# return $rep;

Hein?! Comme ca, y a plus de problemes etymologiques! Hehe...

Commentaire de Anthomicro le 22/08/2005 10:26:40

c'est aussi une solution ^^

Commentaire de wizad le 22/08/2005 11:39:03

Bonjour je cherche des info sur les fonctions CURL. En effet je voudrais créer une classe pour récupérer la valeur d'un compte courant paypal.

Commentaire de malik7934 le 22/08/2005 11:46:48

il te faut http://www.php.net/manual/fr/ref.curl.php pour les fonctions CURL, un soft genre ethereal (http://www.ethereal.com/download.html) pour etudier les echanges entre ton browser et paypal et de la patience pour comprendre les echanges :)

Commentaire de massacr le 22/08/2005 14:07:28

Bon, moi, je voudrais savoir si je peux utiliser les fonctions CURL en local mais en dialoguant avec un serveur distant.
D'ailleurs, j'aimerais une longue réponse, car je me pose beaucoup de questions :
- Quand je vois ca, je ne sais pas ce que ca veut dire : vous devez compiler celui-ci avec l'option --with-curl[=DIR]. Je n'ai pas compilé mon PHP en local (j'utilise WAMP), et je ne suis pas l'adminstrateur de mon hébergeur. Donc, comment installer les fonctions CURL en local. Ca ne peut pas fonctionner avec une include ? J'ai besoin d'explications sur tous ces points.
A+, et merci d'avance de vos réponses.

Commentaire de malik7934 le 23/08/2005 11:44:11

T'as cherche avant de poser ta question? http://www.wampserver.com/phorum/read.php?f=1&i=1043&t=1043. Je connaissais meme pas wamp avant et je trouve la reponse a ta question en deux minutes...

Pour de plus amples infos sur les fonctions curl, j'ai trouve un link pas mal: http://www.google.com

;)

Commentaire de Anthomicro le 23/08/2005 12:57:55

"Pour de plus amples infos sur les fonctions curl, j'ai trouve un link pas mal: http://www.google.com"

lol, malik t'énerve pas (enfin je te comprends) c'est tellement plus simple de ne pas chercher et d'avoir tout, tout cuit !

Commentaire de malik7934 le 23/08/2005 13:02:01

Je m'enerve pas, c'est vraiment un bon link ;)

Commentaire de Evangun le 24/08/2005 00:17:19

Bonjour bonjour! mais alors ça veut dire que par cette méthode il y a moyen de faire tout ce que font les fonctions imap sans les fonctions imap? oui parce que j'ai essayé depuis Free et ça voulait pas, pas possible de se connecter à Yahoo...

Commentaire de WhiteDwarf le 05/12/2005 22:06:19

:( ca ne marche pas... enfin si ca marche mais pas à fond, enrésultat ca me donne :

vous avez message non lu

et y'a pas le nombre, si quelqu'un à la solution, merci...

++

Commentaire de malik7934 le 06/12/2005 07:36:26

T'as lu mon commentaire du 02/09/2005 à 11:55:46 ??? Tu ne peux pas (plus) utiliser cette source telle quelle. Il faut que tu utilises un soft pour observer les headers, tel que HTTPWatch, et que tu adaptes la source en fonction.

Commentaire de WhiteDwarf le 06/12/2005 14:12:44

Ok merci :)

Commentaire de lhyounes88 le 15/05/2012 22:41:25

merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

fonction mail ?! [ par Spiritraid ] J'ai un chti pb, plutot... embettant, voire mm très embettant :/je ressors ma fonction mail pour l'utiliser, mais j'ai du oublier comment elle marche Curl & Yahoo [ par WhiteDwarf ] Bonjour, en fait je cherche &#224; cr&#233;er un script qui permettrai de r&#233;cup&#233;rer les contacts des boites mail Yahoo! et Gmail (et autres Client mail et yahoo [ par rhum07 ] Bonjour.Je dois cr&#233;er un client mail qui se connecte &#224; Yahoo mail.J'ai r&#233;cup&#233;rer plusieur script mais rien&nbsp; n'y fait, pas de Protocole HTTP [ par grosteack ] Bonjour tout le monde !Mon projet consiste à se connecter sur des sites en utilisant la librairie cURL de PHP pour pouvoir construire ses propres paqu [Anti-Spam] Se brancher sur le port POP [ par nitrique ] Bonjour à tous,J'aimerais développer un service anti-spam basé sur l'authentification de l'expéditeur.Un peu comme MailInBlack: http://mailinblack.com Images qui ne s’affichent pas sur une newsletter pour yahoo [ par zheRefaik ] Salut a tous Voila, j'ai une newsletter (qui comporte du html) qui est sensé être envoyer a tout les abonner d'un sit Formulaire de recommandation de site : problèmes [ par Justkill ] Bonjour à vous, je viens vous voir suite à un problème de fonctionnement d'un formulaire de recommandation pris ici :http://www.phpcs.com/code.aspx?ID Envoyer des données par mail depuis un formulaire [ par vincent4brest ] Bonjour,Je suis totalement débutant en php et je souhaite récupérer des données d'un formulaires pour me les envoyer par mail, je récupere uniquement probleme curl [ par coolman9999 ] bonjour, ayant chercher longtemps a resoudre mon probleme sans succés, je me tourne vers vous en esperant le resoudre :D voila, jaimerais creer un pe boite e-mail en php( comme gmail ou bien yahoo)?! [ par majdaesprit ] Bonjour à tous; Je cherche comment faire (comment adapté), développer ou bien installer une boite e-mail (en php5) comme gmail ou bien yahoo sur mon s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,827 sec (3)

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