Pytanie : Problem using imap funkcja

I próbować e-mail parser dla nasz miejsce. >
1 I ostatecznie iść być iterate przez the wiadomość który mieć doczepianie i oprócz the doczepianie jeżeli the wiadomość komes od szczególny email address.
This być właśnie the parafować test, I biegać w problem, widzieć komentarz below.

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:
 \ n";
  $mailuser= " [email protected] ";
  
  echo "User=$mailuser". "
\ n"; ; $mailpass= " mypassword "; echo "Pass=$mailpass". "
\ n"; // musieć port ponieważ my mieć SSL na miejsce i stały bywalec port 110 pracować $mailhost= " {localhost: 995/pop3/ssl/novalidate-cert} "; echo "Host=$mailhost". "
\ n"; $mailbox=imap_open ($mailhost, $mailuser, $mailpass) lub kostka do gry ("
\ nFAILLED! " .imap_last_error ()); $check = imap_check ($mailbox); // ostatni wiadomość ostatni przechować w the kartoteka msgcounter.dat $firstmsg = file_get_contents ("msgcounter.dat ") + (1); $lastmsg = $firstmsg+$check->Recent; // musieć == ostatni msg wskaźnik + obliczenie opóźniony wiadomość odbijać się echem "Najpierw: ". $firstmsg. "- Ostatni: ". $lastmsg. "
"; $result = imap_fetch_overview ($mailbox, "$firstmsg: $lastmsg"); print_r ($result); // powrót opróżniać szyk foreach ($result jako $overview) { // nigdy wchodzić do ten pętla. echo "# {$overview->msgno} ({$overview->date}) - Od: {$overview->from} {$overview->subject} \ n "; } // the następujący podejście pracować także, Utrzymywać przestrzeganie wokoło // Zły wiadomość liczba // // Niektóre wiadomość w the sekwencja Kasować. /* dla ($index = $firstmsg-1; $index <= ($lastmsg); $index++) { jeżeli (strlen (podstrzyżenie (imap_fetchheader ($mailbox, $index))) > (0)) { echo "w wiadomość wskaźnik pętla: ". $index; } } * imap_close ($mailbox); echo "uzupełniać.". "
\ n"; ; ? >

Odpowiedź : Problem using imap funkcja

OK, tutaj być the odpowiedź mój problemowy…
(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 ("rzecz ");
  podczas gdy (lista (, $node) = $result ($result)) {
    $email   = $node->LI_email;
    $user_id = $node->LI_user_id;
    $SEARCH  = "NIEWIDZIANY OD \ "$EMAIL \ "";
    $result2 = imap_search ($mailbox, $search);
    jeżeli ($result2) {
      $index = $result2 [(0)];
      $structure = imap_fetchstructure ($mailbox, $index);
      
      $attachments = szyk ();
      jeżeli (isset ($structure->parts) && obliczenie ($structure->parts)) {
        dla ($i = (0); $i < count="">część); $i++) {
          $attachments [$i] = szyk (
            "is_attachment" => fałszywy,
            "filename" => '',
            "imię" => '',
            "doczepianie" => '');
          
          jeżeli ($structure->parts [$i] - >ifdparameters) {
            foreach ($structure->parts [$i] - >dparameters jako $object) {
              jeżeli (strtolower ($object->attribute) == "filename ") {
                $attachments [$i] ["is_attachment"] = true;
                $attachments [$i] ["filename"] = $object->value;
              }
            }
          }
          
          jeżeli ($structure->parts [$i] - >ifparameters) {
            foreach ($structure->parts [$i] - >parameters jako $object) {
              jeżeli (strtolower ($object->attribute) == "imię ") {
                $attachments [$i] ["is_attachment"] = true;
                $attachments [$i] ["imię"] = $object->value;
              }
            }
          }
          
          jeżeli ($attachments [$i] ["is_attachment"]) {
            $attachments [$i] ["doczepianie"] = imap_fetchbody ($mailbox, $index, $i+1, FT_PEEK);
            jeżeli ($structure->parts [$i] - >encoding == 3) {// 3 = BASE64
              $attachments [$i] ["doczepianie"] = base64_decode ($attachments [$i] ["doczepianie"]);
            }
            elseif ($structure->parts [$i] - >encoding == 4) {// 4 = QUOTED-PRINTABLE
              $attachments [$i] ["doczepianie"] = quoted_printable_decode ($attachments [$i] ["doczepianie"]);
            }
          } // jeżeli ($attachments [$i] ["is_attachment"])
        } // dla ($i = (0); $i < count="">część); $i++)
      } // jeżeli (isset ($structure->parts) && obliczenie ($structure->parts))

      dla ($i = (0); $i < count=""> (0)) {
          $path_parts = pathinfo ($attachments [$i] ["filename"]);
          jeżeli (strtolower ($path_parts ["rozszerzenie"]) == "zamek błyskawiczny ") {
            // I iść kartoteka różny z ziped kartoteka
          } inny {
            $filename = "file_uploads/". $user_id. "_". $path_parts ["filename"]. "_" .date ("m_d_Y "). ".". $path_parts ["rozszerzenie"];
            $fp = fopen ($filename, "x");
            fwrite ($fp, $attachments [$i] ["doczepianie"]);
            fclose ($fp);
          } // jeżeli (strtolower ($path_parts ["rozszerzenie"]) == "zamek błyskawiczny ")
        } // jeżeli (strlen (podstrzyżenie ($attachments ["imię"])) > (0)
      } // dla ($i = (0); $i  < count="">
Inne rozwiązania  
 
programming4us programming4us