Fråga : Problem using imap fungerar

Pröva förmiddag I att bygga en e-postmeddelandeparser för vår plats. Se för class=" codeSnippet " för kommentarer below.

1 för >This är det initialt testar precis, emellertid, I-förmiddagspring in i problem,
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:
class= " prettyprint " för id= " codeSnippet852971 " för >

 \ n”;
$mailuser= " [email protected] ";
eka ”User=$mailuser”. ”
\ n”; ; $mailpass= " mypassword "; eka ”Pass=$mailpass”. ”
\ n”; // måste att använda denna, därför att vi har SSL på plats, och stamgästport 110 inte fungerade $mailhost= " {localhost: 995/pop3/ssl/novalidate-cert} ”; eka ”Host=$mailhost”. ”
\ n”; $mailbox=imap_open ($mailhost, $mailuser, $mailpass) eller matris (”
\ nFAILLED! ” .imap_last_error ()); $check = imap_check ($mailbox); // som det sist meddelandet parsed ska, lagras i spara msgcounter.dat $firstmsg = file_get_contents (”msgcounter.dat”) + 1; $lastmsg = $firstmsg+$check->Recent; // bör vara det sist msgindexet för == + räkningen av senast meddelanden eka ”först: ”. $firstmsg. ”- Sist: ”. $lastmsg. ”
”; $result = imap_fetch_overview ($mailbox, ”$firstmsg: $lastmsg”); print_r ($result); // retur tömmer samling foreach ($result som $overview) { // skriver in aldrig denna kretsar. eka ”nr. {$overview->msgno} ({$overview->date}) - från: {$overview->from} {} för $overview->subject \ n "; } // som efter att närma sig inte fungerade either, hållet få varningar omkring Det // dåligameddelandet numrerar // // några meddelanden i ordna har tagits bort. /* för ($index = $firstmsg-1; $index-<= ($lastmsg); $index++) { om (strlen (klippning (imap_fetchheader ($mailbox, $index))) > 0) { eka ”i meddelandeindex kretsar: ”. $index; } } * imap_close ($mailbox); eka ”avslutat.”. ”
\ n”; ; ? ><-/pre>
" klar "

Svar : Problem using imap fungerar

REKO är här svaret till mitt problem…,
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 (”objekt”);
  stunder (lista (, $node) = varje ($result)) {
    $email   = $node->LI_email;
    $user_id = $node->LI_user_id;
    $SEARCH  = ”OSEDD FRÅN \ ”$EMAIL \ "";
    $result2 = imap_search ($mailbox, $search);
    om ($result2) {
      $index = $result2 [0];
      $structure = imap_fetchstructure ($mailbox, $index);
      
      $attachments = samling ();
      om, &&räkning (för isset ($structure->parts) ($structure->parts)) {
        för ($i = 0; $i- < count="">delar); $i++) {
          $attachments [$i] = samling (
            ”falsk is_attachment” =>,
            ”filename” => '',
            ”namnge” => '',
            ”tillbehör” => '');
          
          om ($structure->parts [$i] - >ifdparameters) {
            foreach ($structure->parts [$i] - >dparameters som $object) {
              om, == ”filename” (för strtolower ($object->attribute)) {
                $attachments [$i] [”is_attachment”] = true;
                $attachments [$i] [”filename”] = $object->value;
              }
            }
          }
          
          om ($structure->parts [$i] - >ifparameters) {
            foreach ($structure->parts [$i] - >parameters som $object) {
              om, == (för strtolower ($object->attribute) ”namnger”) {
                $attachments [$i] [”is_attachment”] = true;
                $attachments [$i] [”namnge”], = $object->value;
              }
            }
          }
          
          om ($attachments [$i] [”is_attachmenten”]) {
            $attachments [$i] [”tillbehör”] = imap_fetchbody ($mailbox, $index, $i+1, FT_PEEK);
            om ($structure->parts [$i] - >encoding == 3) {// 3 = BASE64
              $attachments [$i] [”tillbehör”] = base64_decode ($attachments [$i] [”tillbehör”]);
            }
            elseif ($structure->parts [$i] - >encoding == 4) {// 4 = QUOTED-PRINTABLE
              $attachments [$i] [”tillbehör”] = quoted_printable_decode ($attachments [$i] [”tillbehör”]);
            }
          } //, om ($attachments [$i] [”is_attachmenten”])
        } // för ($i = 0; $i- < count="">delar); $i++)
      } //, om, &&räkningen (för isset ($structure->parts) ($structure->parts))

      för ($i = 0; $i < count=""> 0) {
          $path_parts = pathinfo ($attachments [$i] [”filename”]);
          om (strtolower ($path_parts [”f8orlängning”]) == ”vinande”) {
            Den // I förmiddagen som går att göra något som är olik med ziped, sparar
          } annars {
            $filename = ”file_uploads/”. $user_id. ”_”. $path_parts [”filename”]. ”_” .date (”m_d_Y”). ”.”. $path_parts [”f8orlängning”];
            $fp = fopen ($filename, ”x”);
            fwrite ($fp, $attachments [$i] [”tillbehör”]);
            fclose ($fp);
          } //, om (strtolower ($path_parts [”f8orlängning”]) == ”vinandet”)
        } //, om (strlen (klippning ($attachments [”namnge”],)) > 0
      } // för ($i = 0; $i  < count="">
Andra lösningar  
 
programming4us programming4us