Pages : [
1]
2
Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 00:00
Salut la compagnie,
voila je cherche a faire une interface pour me connecter a mon compte mail. Mais j ai un mauvais message d erreur.
Voici mon code :
$mail = imap_open("{wanadoo.fr:110/pop3}", "user", "pass");
echo "<center> Liste des mails:</center>\n";
$headers = imap_headers ($mail);
if ($headers == FALSE) {
echo "Erreur !\n";
} else {
while (list ($key,$val) = each ($headers)) {
echo "<a href=\"mail.php?nummail=".($key+1)."\">".$val."</a><br>\n";
}
}
imap_close($mail);
Il me met could not open stream machin, vous voyez une erreur?
merci les gars
kid
________________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 11:18
Je n'ai encore jamais essayer les fonction imap...
de toute façon, ne fais de echo ''; avant d'envoyer un header !
Au pif, essaye ceci :
<?php
$mail = imap_open("{wanadoo.fr:110/pop3}", "user", "pass");
$headers=imap_headers($mail);
if ($headers == FALSE) {
echo "Erreur de headers ! <br>";
} else {
while (list ($key,$val) = each ($headers)) {
echo "<a href="mail.php?nummail=".($key+1)."">".$val."</a><br>n";
}
}
imap_close($mail);
?> 
mais, je n'en sais pas plus, et vuq eu eje suis au boulot, pas me temps de chercher tout de suite.
Sky
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 11:22
En fait l erreur se situe au niveau du imap_open, sinon oui c clair je vais virer le echo
merci
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 11:30
Ayé c bon, j ai trouvé le pb, le code suivant marche pour afficher ses mails :
$mail = imap_open("{serveurpop/pop3:110}", "user", "pass");
echo "<center> Liste des mails:</center>\n";
$headers = imap_headers ($mail);
if ($headers == FALSE) {
echo "Erreur !\n";
} else {
while (list ($key,$val) = each ($headers)) {
echo "<a href=\"mail.php?nummail=".($key+1)."\">".$val."</a><br>\n";
}
}
imap_close($mail);
ca peut interresser quelqu un
je vais essayer de faire un truc bien bon pour pouvoir lire ses mails telecharger ses pieces jointes etc
a plousse
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 11:50
euh en fait au lieu de wanadoo.fr j ai mis pop.wanadoo.fr voila je l avais aps precisé
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 11:56
Merci Kidloco .
Je regarderai

Ca me motivera peut etre :)
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 16:32
Bon je vous met la premiere page qui check les mails que vous avez recu :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<link href="STYLE.CSS" rel="stylesheet" type="text/css">
</head>
<body class="bodyCEFF">
<?
$mail = imap_open("{serveurpop/pop3:110}", "user", "passf","OP_READONLY");
$check = imap_check($mail);
print("$check->Nmsgs messages<br>\n");
//print("$check->Recent new messages<br>\n");
print("Message le plus récent: $check->Date<br>\n");
echo " Liste des mails:<br>\n";
$headers = imap_headers ($mail);
if ($headers == FALSE) {
echo "Erreur !\n";
} else {
while (list ($key,$val) = each ($headers)) {
echo "<a href=\"mail.php?nummail=".($key+1)."\">".$val."</a><br>\n";
}
}
imap_close($mail);
?>
</body>
</html>
Vous l aurez compris faut creer une deuxieme page ici je l ai appelée mail.php. je vous met son code, mais bon pour l instant y a du bug de caractere ce qui fait qu elle s affiche pas bien.
J espere trouver la soluce
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 16:35
code de la page mail.php:
<?
$nummail = $_GET["nummail"];
$mail = imap_open("{serveurpop/pop3:110}", "user", "pass");
$header = imap_headerinfo($mail, $nummail);
$body = imap_body($mail, $nummail, FT_INTERNAL | FT_PEEK);
//print("<hr>\n");
$to = array();
foreach($header->to as $t)
{
$to[] = "$t->personal <$t->mailbox@$t->host>";
}
$to = implode(",", $to);
$from = array();
foreach($header->from as $f)
{
$from[] = "$f->personal <$f->mailbox@$f->host>";
}
$from = implode(",", $from);
$body = str_replace("3D","",$body);
$body = str_replace("2e",".",$body);
$body = str_replace("2E",".",$body);
//$body = str_replace("=","",$body);
print(
"Date: $header->date<br>\n" .
"To: " . htmlentities($to) . "<br>" .
"From: " . htmlentities($from) . "<br>\n" .
"Subject: $header->subject<br>\n" .
"<br>\n" .
$body . "<br>\n");
imap_close($mail);
?>
Voila ce script ne marche pas encore au top mais si vous sentez de tester vous allez voir je suis pas loin du resultat
a plousse
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 16:55
Deja, un nl2br($body) fairai du bien

_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Connection a un compte mail pop3 via PHP Posté le 14/10/2004 à 17:06
bah en fait je l ai viré parce que des fois il fait merder le nl2br.
La il me reste plus qu un caracttere qui fait chier c le ? il est remplacé par un egal, la je suis baisé, jusqu a present il y avait toujours deux caractere qui remplacaient donc ca allait mais la je
suis baisé
zob
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 10:53
ca avance ca avance j y arriverai
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 11:50
Au faite, si tu arrive à un script sympa, n'hesite pas à le partager ici, j'en fairai meme un petit "portion de php" dans les tutoriels si tu veut

_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 11:55
pas de soucis
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 14:49
Bon je suis arrivé a un truc pas mal, mais y a encore quelques merdes sur les fichiers attachés, enfin si ca t interesse sky je te colle le code

ou je te l envoie si t as un mail. Je vais continuer a potasser tout ca pour arriver a un code parfait.
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 15:13
Ho, poste le ici, et envoie moi le par mail, je vais le mettre en page, avec quelques explication, et une petite mention comme quoi cest toi qui l'a développer
Cool, merci
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 15:58
Bon je te colle le code, si tu veux faire des tests etc, j ai fait des tests sur des mails avec images (cdiscount), que du texte et des fichiers attachés, je gere pas encore les fichiers attachés (si
ca te botte de regarder un peu) mais j y compte bien.
En fait tu as une premiere page qui liste tes mails (testmail.php) avec lien dessus et si tu cliques sur le lien t envoie les details du mail, seuls les fichiers attachés chient.
Donc code page1 :
$mail = imap_open("{serveurpop/pop3:110}", "user", "pass","OP_READONL"); // exemple pop.wanadoo.fr
$check = imap_check($mail);
print("$check->Nmsgs messages<br>\n");
//print("$check->Recent new messages<br>\n");
print("Message le plus récent: $check->Date<br>\n");
echo " Liste des mails:<br>\n";
$headers = imap_headers ($mail);
if ($headers == FALSE) {
echo "Erreur (pas de mail)!\n";
} else {
while (list ($key,$val) = each ($headers)) {
echo "<a href=\"mail.php?nummail=".($key+1)."\">".$val."</a><br>\n";
}
}
imap_close($mail);
_______________________
www.pirates-caraibes.com
Réponse à : Connection a un compte mail pop3 via PHP Posté le 18/10/2004 à 16:00
page 2 (code a ne pas mettre ds une page html):
<?
$nummail = $_GET["nummail"];
$mail = imap_open("{serveurpop/pop3:110}", "user", "pass");
$header = imap_headerinfo($mail, $nummail);
$body = imap_body($mail, $nummail, FT_INTERNAL | FT_PEEK);
//print("<hr>\n");
$to = array();
foreach($header->to as $t)
{
$to[] = "$t->personal <$t->mailbox@$t->host>";
}
$to = implode(",", $to);
$from = array();
foreach($header->from as $f)
{
$from[] = "$f->personal <$f->mailbox@$f->host>";
}
$from = implode(",", $from);
// gestion des merdes imap pop3
$body = str_replace("3D","",$body);
$body = str_replace("2e",".",$body);
$body = str_replace("2E",".",$body);
$body = str_replace("E9","é",$body);
$body = str_replace("=E9=","é",$body);
$body = str_replace("=20"," ",$body);
$body = str_replace("=E0","à",$body);
$body = str_replace("=E0=","à",$body);
$body = str_replace("=E8=","è",$body);
$body = str_replace("=.",".",$body);
$body = str_replace("==","=",$body);
$body = str_replace(" /","",$body);
$body = nl2br($body);
//gestion de la chiure nl2br
$body = str_replace (" /","",$body);
$body = str_replace(".=<br>",".",$body);
$body = str_replace ("</TD><br>","</td>",$body);
$body = str_replace ("</TR><br>","</tr>",$body);
$body = str_replace ("<TR><br>","<tr>",$body);
$body = str_replace ("<TD><br>","<td>",$body);
$body = str_replace ("<TBODY><br>","<TBODY>",$body);
$body = str_replace ("><br>",">",$body);
$body = str_replace ("=<br>","=",$body);
$body = str_replace ("=3F","?",$body);
$body = str_replace ("bgColor=black","bgColor=#dedeff",$body);
print(
"Date: $header->date<br>\n" .
"To: " . htmlentities($to) . "<br>" .
"From: " . htmlentities($from) . "<br>\n" .
"Subject: $header->subject<br>\n" .
"<br>\n" .
$body . "<br>\n");
imap_close($mail);
?>
_______________________
www.pirates-caraibes.com
Pages : [
1]
2 Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.