Question : Problèmes using des fonctions d'IMAP

J'essaye d'établir un analyseur de message électronique pour notre emplacement. Ce que je vais par la suite faire est de réitérer par les messages qui ont des attachements et sauf l'attachement si le message vient d'un email address particulier. le
This est juste l'essai initial, cependant, je rencontre des problèmes, voient le class= les " lineNumbers " >
1 de >

< ? PHP
  écho « chargement… ». « 
\ n » ; $mailuser= " [email protected] " ; écho « User=$mailuser ». « 
\ n » ; ; $mailpass= " mypassword " ; écho « Pass=$mailpass ». « 
\ n » ; // a dû employer ceci parce que nous avons le SSL sur l'emplacement et le port régulier 110 n'a pas fonctionné $mailhost= " {localhost : 995/pop3/ssl/novalidate-cert} « ; écho « Host=$mailhost ». « 
\ n » ; $mailbox=imap_open ($mailhost, $mailuser, $mailpass) ou meurent (« 
\ nFAILLED !  » .imap_last_error ()); $check = imap_check ($mailbox) ; le dernier message de // analysé sera stocké dans le dossier msgcounter.dat $firstmsg = file_get_contents (« msgcounter.dat ") + 1 ; $lastmsg = $firstmsg+$check->Recent ; // devrait être dernier index de msg de == + compte des derniers messages faire écho « d'abord :  ». $firstmsg. « - Dernier :  ». $lastmsg. « 
 » ; $result = imap_fetch_overview ($mailbox, « $firstmsg : $lastmsg ») ; print_r ($result) ; les retours de // vident la rangée foreach ($result comme $overview) { // n'écrit jamais cette boucle. écho « # {$overview->msgno} ({$overview->date}) - de : {$overview->from} {} de $overview->subject \ n " ; } // que l'approche suivante n'a pas fonctionné non plus, continué à obtenir des avertissements environ Mauvais nombre de message de // // // quelques messages dans l'ordre ont été supprimés. /* pour ($index = $firstmsg-1 ; <= de $index ($lastmsg) ; $index++) { si (strlen (équilibre (imap_fetchheader ($mailbox, $index))) > 0) { écho « dans la boucle d'index de message :  ». $index ; } } * imap_close ($mailbox) ; écho « accompli. ». « 
\ n » ; ; ? class= >
" clair " de >
class= de

Réponse : Problèmes using des fonctions d'IMAP

L'OK, voici la réponse à mon problème…
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 :
\nFAILLED! ".imap_last_error());

  // The IMAP.xml file contains the email address and user_id of the users that we accept 
  // their files via email 
  $xml = simplexml_load_string(file_get_contents('IMAP.xml'));
  $result = $xml->xpath (« article ") ;
  tandis que (liste (, $node) = chacun ($result)) {
    $email   = $node->LI_email ;
    $user_id = $node->LI_user_id ;
    $SEARCH  = « DE INVISIBLE \ « $EMAIL \ "" ;
    $result2 = imap_search ($mailbox, $search) ;
    si ($result2) {
      $index = $result2 [0] ;
      $structure = imap_fetchstructure ($mailbox, $index) ;
      
      $attachments = rangée () ;
      si compte de && (d'isset ($structure->parts) ($structure->parts)) {
        pour ($i = 0 ; pièces < count="">de $i) ; $i++) {
          $attachments [$i] = rangée (
            => de « is_attachment » faux,
            « nom de fichier » => '',
            « nom » => '',
            « attachement » => '') ;
          
          si ($structure->parts [$i] - >ifdparameters) {
            foreach ($structure->parts [$i] - >dparameters comme $object) {
              si nom de fichier de == (de strtolower ($object->attribute) « ") {
                $attachments [$i] [« is_attachment »] = rectifient ;
                $attachments [$i] [« nom de fichier »] = $object->value ;
              }
            }
          }
          
          si ($structure->parts [$i] - >ifparameters) {
            foreach ($structure->parts [$i] - >parameters comme $object) {
              si nom de == (de strtolower ($object->attribute) « ") {
                $attachments [$i] [« is_attachment »] = rectifient ;
                $attachments [$i] [« nom »] = $object->value ;
              }
            }
          }
          
          si ($attachments [$i] [« is_attachment »]) {
            $attachments [$i] [« attachement »] = imap_fetchbody ($mailbox, $index, $i+1, FT_PEEK) ;
            si ($structure->parts [$i] - == >encoding 3) {// 3 = BASE64
              $attachments [$i] [« attachement »] = base64_decode ($attachments [$i] [« attachement »]) ;
            }
            elseif ($structure->parts [$i] - == >encoding 4) {// 4 = QUOTED-PRINTABLE
              $attachments [$i] [« attachement »] = quoted_printable_decode ($attachments [$i] [« attachement »]) ;
            }
          } // si ($attachments [$i] [« is_attachment »])
        } // pour ($i = 0 ; pièces < count="">de $i) ; $i++)
      } // si compte de && (d'isset ($structure->parts) ($structure->parts))

      pour ($i = 0 ; $i < count=""> 0) {
          $path_parts = pathinfo ($attachments [$i] [« nom de fichier »]) ;
          si (strtolower ($path_parts [fermeture éclair de == de « prolongation »]) « ") {
            // je vais faire quelque chose différente avec les dossiers ziped
          } autrement {
            $filename = « file_uploads/ ». $user_id. « _ ». $path_parts [« nom de fichier »]. « _ » .date (« m_d_Y "). « . ». $path_parts [« prolongation »] ;
            $fp = fopen ($filename, « x ») ;
            fwrite ($fp, $attachments [$i] [« attachement »]) ;
            fclose ($fp) ;
          } // si (strtolower ($path_parts [fermeture éclair de == de « prolongation »]) « ")
        } // si (strlen (équilibre ($attachments [le « nom »])) > 0
      } // pour ($i = 0 ; $i  < count="">
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us