@Sky POP3

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • @Sky POP3

    Hy Sky,

    wie sieht es mit der POP3 Geschichte aus? Hast du da schon was?
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Ich habe zur Zeit recht viel zu tun und weiß gar nicht so recht, wo ich zuerst was machen soll...

    Also ich kann nichts versprechen, aber vielleicht bis nächstes Wochenende.

    CAT Music Files

    Kommentar


    • #3
      Ich weiß nicht ob es legitim ist auf eine Frage zu Antworten die direkt an einen Kollegen gerichtet ist. MAn möge Gnade walten lassen und mir Verzeihen, falls meine Hinweise vielleicht bereits bekannt sind, oder in keinem Zusammenhang mit der Fragestellung stehen:

      Zu POP3

      POP3 die Erste:
      Implementierung von POP3-Basisfunktionen.
      http://www.roderick.triple-it.nl/old/pop3/

      Code von POP3.PHP im Quelltext von: http://www.roderick.triple-it.nl/old...mple/pop3.html


      POP3 die Zweite:
      o Klasse zum Verwalten eines POP3-Servers
      o Klasse zum Erzeugen und Empfangen von MIME-Nachrichten

      PHP Classes Repository - Class: POP3 protocol client access to mail boxes
      Supplied by: Manuel Lemos <mlemos@acm.org>
      http://phpclasses.upperdesign.com/browse.html/package/2

      Kommentar


      • #4
        @hand

        Die beiden oberen Adressen gibt es nicht mehr, weißt du noch was anderes?
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          Die Adressen waren noch verfügbar, als ich sie postete. Ich habe aber den Source, poste ich halt den:
          PHP-Code:
          <? 
            /* Pop3 Functions. 
               Smtp Functions. [Added later, going to split] 

               For a real example take a look at: 
               [url]http://www.triple-it.nl/pop3/[/url] 

               I have just started to explore the world of PHP3, 
               so excuse (and correct me :) if I'm doing something wrong. 

               Unk. (rgroesb@triple-it.nl) 
             */ 

            function pop3_open($server, $port)   
            { 
              global $POP3_GLOBAL_STATUS; 

              $pop3 = fsockopen($server, $port); 
              if ($pop3 <= 0) return 0; 

              $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 

              if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

              return $pop3; 
            } 

            function pop3_user($pop3, $user) 
            { 
              global $POP3_GLOBAL_STATUS; 

              fputs($pop3, "USER $user\r\n"); 
              $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 
               
              if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

              return 1; 
            } 

            function pop3_pass($pop3, $pass) 
            { 
              global $POP3_GLOBAL_STATUS; 

              fputs($pop3, "PASS $pass\r\n"); 
              $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 
               
              if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

              return 1; 
            } 
             
            function pop3_stat($pop3) 
            { 
              global $POP3_GLOBAL_STATUS; 

              fputs($pop3, "STAT\r\n"); 
              $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 

                  if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

              if (!eregi("+OK (.*) (.*)", $line, $regs))  
                  return 0; 

              return $regs[1]; 
            } 

            function pop3_list($pop3) 
            {     
                  global $POP3_GLOBAL_STATUS; 
             
                  fputs($pop3, "LIST\r\n"); 
                  $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 

                  if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

              $i = 0; 
              while  (substr($line  =  fgets($pop3, 1024),  0,  1)  <>  ".") 
              { 
                  $articles[$i] = $line; 
                  $i++; 
              } 
              $articles["count"] = $i; 

              return $articles; 
            } 

            function pop3_retr($pop3, $nr) 
            { 
                  global $POP3_GLOBAL_STATUS; 
             
                  fputs($pop3, "RETR $nr\r\n"); 
                  $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 

                  if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

                  while  (substr($line  =  fgets($pop3, 1024),  0,  1)  <>  ".") 
                  { 
                          $data[$i] = $line; 
                          $i++; 
                  } 
                  $data["count"] = $i; 

                  return $data; 
            } 

            function pop3_dele($pop3, $nr) 
            { 
                  global $POP3_GLOBAL_STATUS; 

                  fputs($pop3, "DELE $nr\r\n"); 
                  $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 

                  if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 


                  return 1; 
            } 

            function pop3_quit($pop3) 
            { 
                  global $POP3_GLOBAL_STATUS; 

                  fputs($pop3, "QUIT\r\n"); 
                  $line = fgets($pop3, 1024); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] = substr($line, 0, 1); 
                  $POP3_GLOBAL_STATUS[$pop3]["LASTRESULTTXT"] = substr($line, 0, 1024); 

                  if ($POP3_GLOBAL_STATUS[$pop3]["LASTRESULT"] <> "+") return 0; 

                  return 1; 
            } 

             
          $pop3 = pop3_open("mail.comzept.de","110"); 
           if (!$pop3) { 
              printf("[ERROR] Failed to connect to localhost<BR>\n"); 
              return 0; 
           } 
            
           if (!pop3_user($pop3, "krause")) { 
              printf("[ERROR] Username failed!<BR>\n"); 
              return 0; 
           } 
            
           if (!pop3_pass($pop3, "clemens4")) { 
              printf("[ERROR] PASS failed!<BR>\n"); 
              return 0; 
           } 

           $articles = pop3_list($pop3); 
           if (!$articles) { 
              printf("[ERROR] LIST failed!<BR>\n"); 
              return 0; 
           } 
            
           for ($i = 1; $i < $articles ["count"] + 1; $i++) 
           { 
              printf("i=$i<BR>\n"); 
              $data = pop3_retr($pop3,$i); 
              if (!$data) { 
                  printf("data goes wrong on '$i'<BR>\n"); 
                  return 0; 
              } 
               
              for ($j = 0; $j < $data["count"]; $j++) 
              { 
                  printf("$data[$j]<BR>\n"); 
              } 
           } 
            
            
          ?>
          Und noch was aus derselben Quelle http://www.triple-it.nl:
          PHP-Code:
          /* Framework fuer SMTP-Funktionen */

          function smtp_open($server$port
            { 
                  global 
          $SMTP_GLOBAL_STATUS

                  
          $smtp fsockopen($server$port); 
                  if (
          $smtp 0) return 0

                  
          $line fgets($smtp1024); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] = substr($line01); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULTTXT"] = substr($line01024); 

                  if (
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] <> "2") return 0

                  return 
          $smtp
            } 

            
          function 
          smtp_helo($smtp
            { 
                  global 
          $SMTP_GLOBAL_STATUS

              
          /* 'localhost' always works [Unk] */ 
                  
          fputs($smtp"helo localhost\r\n"); 
                  
          $line fgets($smtp1024); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] = substr($line01); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULTTXT"] = substr($line01024); 

                  if (
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] <> "2") return 0

                  return 
          1
            } 
            
          function 
          smtp_mail_from($smtp$from
            { 
                  global 
          $SMTP_GLOBAL_STATUS

                  
          fputs($smtp"MAIL FROM: <$from>\r\n"); 
                  
          $line fgets($smtp1024); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] = substr($line01); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULTTXT"] = substr($line01024); 

                  if (
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] <> "2") return 0

                  return 
          1
            } 
            
          function 
          smtp_rcpt_to($smtp$to
            { 
                  global 
          $SMTP_GLOBAL_STATUS

                  
          fputs($smtp"RCPT TO: <$to>\r\n"); 
                  
          $line fgets($smtp1024); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] = substr($line01); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULTTXT"] = substr($line01024); 

                  if (
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] <> "2") return 0

                  return 
          1
            } 

            function 
          smtp_data($smtp$subject$data
            { 
                  global 
          $SMTP_GLOBAL_STATUS

                  
          fputs($smtp"DATA\r\n"); 
                  
          $line fgets($smtp1024); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] = substr($line01); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULTTXT"] = substr($line01024); 

                  if (
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] <> "3") return 0

                  
          fputs($smtp"Mime-Version: 1.0\r\n"); 
                  
          fputs($smtp"Subject: $subject\r\n");     
                  
          fputs($smtp"$data\r\n\r\n"); 
                  
          fputs($smtp".\r\n"); 
                  
          $line fgets($smtp1024); 
                  if (
          substr($line01) <> "2") { return 0; }
                  return 
          1
            } 
            
          function 
          smtp_quit($smtp
            { 
                  global 
          $SMTP_GLOBAL_STATUS

                  
          fputs($smtp"QUIT\r\n"); 
                  
          $line fgets($smtp1024); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] = substr($line01); 
                  
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULTTXT"] = substr($line01024); 

                  if (
          $SMTP_GLOBAL_STATUS[$smtp]["LASTRESULT"] <> "2") return 0

              return 
          1
            } 

          Kommentar


          • #6
            @Sky

            hast du schon was erreicht? Die Scripte von hand bringen mich nicht weiter.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              Eigentlich wollte ich diese POP3/IMAP-Sache im Kontext eines privaten Projektes machen - da ich im Moment aber mit wichtigeren und kommerziellen Sachen recht ausgelastet bin, muss ich die Priorität dafür leider herunterschrauben, es kann also noch ein paar Wochen dauern - sorry.

              CAT Music Files

              Kommentar

              Lädt...
              X