Questione : Problemi using le funzioni di imap

Sto provando a sviluppare un analizzatore del messaggio di posta elettronica per il nostro luogo. Che cosa finalmente sto andando fare è di ripetere attraverso i messaggi che hanno collegamenti e salvo il collegamento se il messaggio viene da un email address particolare. il
This è appena la prova iniziale, tuttavia, io sto funzionando nei problemi, vede il class= " i lineNumbers " >
1 del >

 \ n„;
  $mailuser= " [email protected] ";
  
  eco “User=$mailuser„. “
\ n„; ; $mailpass= " mypassword "; eco “Pass=$mailpass„. “
\ n„; // ha dovuto usare questo perché abbiamo SSL sul luogo e l'orificio normale 110 non ha funzionato $mailhost= " {localhost: 995/pop3/ssl/novalidate-cert} “; eco “Host=$mailhost„. “
\ n„; $mailbox=imap_open ($mailhost, $mailuser, $mailpass) o muoiono (“
\ nFAILLED! „ .imap_last_error ()); $check = imap_check ($mailbox); l'ultimo messaggio di // analizzato sarà immagazzinato nella lima msgcounter.dat $firstmsg = file_get_contents (“msgcounter.dat ") + 1; $lastmsg = $firstmsg+$check->Recent; // dovrebbe essere ultimo indice dei msg del == + conteggio di ultimi messaggi echeggiare “in primo luogo: „. $firstmsg. “- Ultimo: „. $lastmsg. “
„; $result = imap_fetch_overview ($mailbox, “$firstmsg: $lastmsg„); print_r ($result); i ritorni di // svuotano l'allineamento foreach ($result come $overview) { // non entra mai in questo ciclo. eco “# {$overview->msgno} ({$overview->date}) - da: {$overview->from} } \ n {di $overview->subject "; } // che il seguente metodo non ha funzionato neanche, continu aare ottenere gli avvertimenti circa Numero di messaggio difettoso di // // // alcuni messaggi nella sequenza è stato cancellato. /* per ($index = $firstmsg-1; <= di $index ($lastmsg); $index++) { se (strlen (disposizione (imap_fetchheader ($mailbox, $index))) > 0) { eco “nel ciclo di indice del messaggio: „. $index; } } */ imap_close ($mailbox); eco “completato.„. “
\ n„; ; ? class= > " libero " di >
class= del

Risposta : Problemi using le funzioni di imap

L'APPROVAZIONE, qui è la risposta al mio problema…
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 (“articolo ");
  mentre (lista (, $node) = ciascuno ($result)) {
    $email   = $node->LI_email;
    $user_id = $node->LI_user_id;
    $SEARCH  = “DA NON VISTO \ “$EMAIL \ "";
    $result2 = imap_search ($mailbox, $search);
    se ($result2) {
      $index = $result2 [0];
      $structure = imap_fetchstructure ($mailbox, $index);
      
      $attachments = allineamento ();
      se (conteggio del && del isset ($structure->parts) ($structure->parts)) {
        per ($i = 0; parti < count="">di $i); $i++) {
          $attachments [$i] = allineamento (
            => “di is_attachment„ falso,
            “nome di schedario„ => '',
            “nome„ => '',
            “collegamento„ => '');
          
          se ($structure->parts [$i] - >ifdparameters) {
            foreach ($structure->parts [$i] - >dparameters come $object) {
              se (nome di schedario del == dello strtolower ($object->attribute) “") {
                $attachments [$i] [“is_attachment„] = allineano;
                $attachments [$i] [“nome di schedario„] = $object->value;
              }
            }
          }
          
          se ($structure->parts [$i] - >ifparameters) {
            foreach ($structure->parts [$i] - >parameters come $object) {
              se (nome del == dello strtolower ($object->attribute) “") {
                $attachments [$i] [“is_attachment„] = allineano;
                $attachments [$i] [“nome„] = $object->value;
              }
            }
          }
          
          se ($attachments [$i] [“is_attachment„]) {
            $attachments [$i] [“collegamento„] = imap_fetchbody ($mailbox, $index, $i+1, FT_PEEK);
            se ($structure->parts [$i] - == >encoding 3) {// 3 = BASE64
              $attachments [$i] [“collegamento„] = base64_decode ($attachments [$i] [“collegamento„]);
            }
            elseif ($structure->parts [$i] - == >encoding 4) {// 4 = QUOTED-PRINTABLE
              $attachments [$i] [“collegamento„] = quoted_printable_decode ($attachments [$i] [“collegamento„]);
            }
          } // se ($attachments [$i] [“is_attachment„])
        } // per ($i = 0; parti < count="">di $i); $i++)
      } // se (conteggio del && del isset ($structure->parts) ($structure->parts))

      per ($i = 0; $i < count=""> 0) {
          $path_parts = pathinfo ($attachments [$i] [“nome di schedario„]);
          se (strtolower ($path_parts [chiusura lampo del == “di estensione„]) “") {
            // sto andando fare qualche cosa di differente con le lime ziped
          } altrimenti {
            $filename = “file_uploads/„. $user_id. “_„. $path_parts [“nome di schedario„]. “_„ .date (“m_d_Y "). “.„. $path_parts [“estensione„];
            $fp = fopen ($filename, “x„);
            fwrite ($fp, $attachments [$i] [“collegamento„]);
            fclose ($fp);
          } // se (strtolower ($path_parts [chiusura lampo del == “di estensione„]) “")
        } // se (strlen (disposizione ($attachments [“nome„])) > 0
      } // per ($i = 0; $i  < count="">
Altre soluzioni  
 
programming4us programming4us