IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[IMAP] Fin prématurée de la connexion


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

taffMan [IMAP] Fin prématurée de la... 18/07/2007, 15h17
is_null Je crois qu'il faut regarder... 18/07/2007, 17h47
D4rkTiger Je sais que je réponds super... 21/02/2008, 16h15
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 184
    Par défaut [IMAP] Fin prématurée de la connexion
    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.

  2. #2
    Membre émérite

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Par défaut
    Je crois qu'il faut regarder dans les logs du serveur IMAP ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    Je sais que je réponds super tard mais :

    est ce que tu as vérifié que l'adresse pop était la bonne car certain serveur utilise des adresses avec pop3.domaine.fr ?

    Voilà

    PS: Je te remercie beaucoup du code que tu as mis cela m'a beaucoup aidé dans la réalisation de la récupération de mails sur mon site

Discussions similaires

  1. Création de nouveau classeur met fin prématurément à la macro
    Par GIP2013 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/02/2014, 23h52
  2. Réponses: 9
    Dernier message: 18/01/2012, 18h37
  3. [PHP 4] Script d'upload qui prend fin prématurément
    Par reservoirdev dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2009, 13h16
  4. Réponses: 3
    Dernier message: 16/03/2007, 22h22
  5. Réponses: 2
    Dernier message: 27/09/2006, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo