Bonjour,

Voilà j'essaie de m'initier aux fonctions Impap afin de récupérer tous les fichiers joints d'une boite mail et de les transférer dans un dossier. J'ai trouvé en open source du code sur le net. En ouvrant sur le net la page php en question (page1.php) qui appelle page2.php également en ligne bien sûr, j'obtiens ce message d'erreur :

can't connect: [CLOSED] IMAP connection broken (server response)
Si vous pouviez me donner une piste de recherche, voici le code:

Ficher page1.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?
require_once("page2.php");
$host="{pop.1and1.fr:110}";
$login="tintin@domaine.com";
$password="monpass";
$savedirpath="http://www.domaine.com/dossier/";
$jk=new readattachment();
$jk->getdata($host,$login,$password,$savedirpath);
?>
Fischer page2.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<? #Coded By Jijo Last Update Date[Jan/19/06]
 
class readattachment
{
 
		function getdecodevalue($message,$coding)
		{
		if ($coding == 0) 
		{ 
		   $message = imap_8bit($message); 
		} 
		elseif ($coding == 1) 
		{ 
		  $message = imap_8bit($message); 
		} 
		elseif ($coding == 2) 
		{ 
		   $message = imap_binary($message); 
		} 
		elseif ($coding == 3) 
		{ 
	   $message=imap_base64($message); 
	   } 
		elseif ($coding == 4) 
		{ 
		   $message = imap_qprint($message); 
		} 
		elseif ($coding == 5) 
		{ 
		 $message = imap_base64($message); 
		} 
		return $message;
		}
 
			function getdata($host,$login,$password,$savedirpath)
			{
			$mbox = imap_open ($host,  $login, $password) or die("can't connect: " . imap_last_error());
			$message = array();
			$message["attachment"]["type"][0] = "text";
			$message["attachment"]["type"][1] = "multipart";
			$message["attachment"]["type"][2] = "message";
			$message["attachment"]["type"][3] = "application";
			$message["attachment"]["type"][4] = "audio";
			$message["attachment"]["type"][5] = "image";
			$message["attachment"]["type"][6] = "video";
			$message["attachment"]["type"][7] = "other";
 
			for ($jk = 1; $jk <= imap_num_msg($mbox); $jk++)
			{
			$structure = imap_fetchstructure($mbox, $jk , FT_UID);    
			$parts = $structure->parts;
			$fpos=2;
					for($i = 1; $i < count($parts); $i++)
					   {
						$message["pid"][$i] = ($i);
						$part = $parts[$i];
 
						if($part->disposition == "ATTACHMENT") 
							{
 
							$message["type"][$i] = $message["attachment"]["type"][$part->type] . "/" . strtolower($part->subtype);
							$message["subtype"][$i] = strtolower($part->subtype);
							$ext=$part->subtype;
							$params = $part->dparameters;
							$filename=$part->dparameters[0]->value;
 
									$mege="";
									$data="";
								  	$mege = imap_fetchbody($mbox,$jk,$fpos);  
									$filename="$filename";
									$fp=fopen($filename,w);
									$data=$this->getdecodevalue($mege,$part->type);	
									fputs($fp,$data);
									fclose($fp);
									$fpos+=1;
 
 
 
							}
 
					}
 
			}
			imap_close($mbox);
			}
}
 
 
?>
J'ai fait une recherche sur le net sans succès, merci d'avance.