Login auf POP server?

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

  • #16
    @TobiaZ

    Kannst du mal dein Script posten?
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #17
      Hab das Script nicht mehr vollständig. Weil ich halt nur mal aus Spaß ausprobieren wollte, was da möglich ist.

      Was brauchste denn, vielleicht kann ich da was zusammen schustern.

      Kommentar


      • #18
        aha

        @Tobiaz

        Ja wär echt toll wenn du es mal posten könntest.
        Vor ner Weile hab ich sowas auch mal probiert, mit anzeigen der Mails usw.
        hat aber nicht so richtig geklappt, obwohl man eigentlich nicht so viel falsch machen kann.

        Danke, Czapie.
        --------------------------------------
        Signatur

        Kommentar


        • #19
          Ich poste heute Abend eins, ohne imap Funktionen.
          Das läuft dann auf fast allen Servern.
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #20
            @ TBT:
            Ohne Imap? Läuft auf fast allen Servern? Aber wirklich nur auf fast allen. Halt alle bis auf Imap

            @ Czapie:
            Wie gesagt, habs grad nicht mehr zur Hand.

            Kommentar


            • #21
              @TobiaZ:

              auf jedem Server wo die Befehle fopen,fclose,fput und fget erlaubt sind

              imap haben viele deaktiviert
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #22
                ok

                sorry @Tobiaz war bloß zu langsam!

                auf das script freue ich mich heute Abend ja schon.

                Danke, Eric.
                --------------------------------------
                Signatur

                Kommentar


                • #23
                  ihr könnt Schwein haben, hab die Dateien doch glatt hier:

                  Mails abholen:
                  PHP-Code:
                  $pop3 = new POP3$server$port$user$pass );
                  if ( !
                  $pop3error $pop3->open() ) {
                      if ( !
                  $pop3error $pop3->login() ) {
                          if ( !
                  $pop3error $pop3->stat() ) {
                              
                  $mail_sizes $pop3->listing();
                              
                  $ids $pop3->ids();
                              
                  $row "";
                              for( 
                  $ii 1;$ii <= count$mail_sizes );++$ii ) {
                                  if ( 
                  in_array$ids[$ii], $alreadyhave ) ) { // alreadyhave ist ein Array mit Mailids
                                      
                  continue; // welche nicht nochmal vom Server geholt werden
                                  

                                  
                  $headers $body $h $b "";
                                  if ( ( 
                  $pop3error $pop3->retrieve$ii$headers$body ) ) == "" ) {
                                      for( 
                  $line 0;$line count$headers );$line++ ) {
                                          
                  $h .= addslashes$headers[$line] ) . "\r\n";
                                      } 
                                      for( 
                  $line 0;$line count$body );$line++ ) {
                                          
                  $b .= addslashes$body[$line] ) . "\r\n";
                                      } 
                                      
                  $row "('" $ids[$ii] . "'," $server[$i][0] . ",'$h','$b')";
                                  } 
                                  
                  $sql .= ( $sql?",":"" ) . $row;
                              } 
                          } 
                      } 

                  if ( 
                  $pop3error ) {
                      echo 
                  $pop3error;

                  $pop3->disconnect();
                  if ( 
                  $sql ) {
                      
                  $query->insert"insert into mails (mailserver_id,server_id,header,body) values $sql);

                  und die Klasse dazu
                  PHP-Code:
                  /**
                   * class:         pop3.class.php
                   * require:
                   * optional:    
                   * description:    class for retrieving mail from pop3 server
                   * created:        05.09.2002
                   * last change:    18.09.2002
                   * author:        Sven Denkert <sven.denkert@t-online.de>
                   * copyright:    Sven Denkert
                   * 
                   * TODO:        MIME Mails and Attachment
                   */

                  if ( !isset( $_CLASS_POP3_ ) ) {
                      
                  $_CLASS_POP3_ 1;
                      class 
                  POP3 {
                          var 
                  $server "";
                          var 
                  $port 110;
                          var 
                  $user "";
                          var 
                  $pass "";

                          var 
                  $error "";
                          var 
                  $con 0;
                          var 
                  $status "disconnected";
                          var 
                  $debug 0;

                          var 
                  $header = array();
                          var 
                  $body = array();
                          var 
                  $size = array();
                          var 
                  $ids = array();

                          function 
                  POP3$_server ""$_port 0$_user ""$_pass "" )
                          {
                              
                  $this->server $_server;
                              
                  $this->port $_port;
                              
                  $this->user $_user;
                              
                  $this->pass $_pass;
                          } 
                          function 
                  connect()
                          {
                              
                  $this->debugger"connecting to server" );
                              if ( !
                  $this->server )
                                  return 
                  $this->error "no server given!";
                              if ( !( 
                  $this->con fsockopen$this->server$this->port$error ) ) ) {
                                  switch ( 
                  $error ) {
                                      case -
                  3:
                                          return 
                  $this->error "socket could not be created";
                                      case -
                  4:
                                          return 
                  $this->error "dns lookup on hostname \"" $this->server "\" failed";
                                      case -
                  5:
                                          return 
                  $this->error "connection refused or timed out";
                                      case -
                  6:
                                          return 
                  $this->error "fdopen() call failed";
                                      case -
                  7:
                                          return 
                  $this->error "setvbuf() call failed";
                                      default:
                                          return 
                  $this->error $error " could not connect to the host \"" $this->server "\"";
                                  } 
                              } 
                              
                  $this->status "connected";
                          } 
                          function 
                  disconnect()
                          {
                              
                  $this->debugger"disconnecting" );
                              if ( 
                  $this->con ) {
                                  
                  fclose$this->con );
                                  
                  $this->con 0;
                              } 
                          } 
                          function 
                  open()
                          {
                              
                  $this->debugger"open mailslot" );
                              if ( 
                  $this->status != "connected" ) {
                                  if ( 
                  $this->error $this->connect() )
                                      return 
                  $this->error;
                                  if ( 
                  $this->tokenize$this->get(), " " ) != "+OK" )
                                      return 
                  $this->error "could not open connection";
                                  
                  $this->status "authorize";
                                  return 
                  "";
                              } 
                          } 
                          function 
                  login()
                          {
                              if ( 
                  $this->status != "authorize" )
                                  return 
                  $this->error "no authorize state";
                              if ( !
                  $this->put"USER " $this->user ) )
                                  return 
                  $this->error "Could not send the USER command";
                              if ( 
                  $this->tokenize$this->get(), " " ) != "+OK" )
                                  return 
                  $this->error "Could not get USER response";
                              if ( !
                  $this->put"PASS " $this->pass ) )
                                  return 
                  $this->error "Could not send the PASS command";
                              if ( 
                  $this->tokenize$this->get(), " " ) != "+OK" )
                                  return 
                  $this->error "Username or Password not correct ?";
                              
                  $this->status "loggedin";
                          } 
                          function 
                  put$line )
                          {
                              
                  $this->debugger"puting line: $line);
                              return( 
                  fputs$this->con"$line\r\n" ) );
                          } 
                          function 
                  get()
                          {
                              for( 
                  $line "";; ) {
                                  if ( 
                  feof$this->con ) )
                                      return 
                  0;
                                  
                  $line .= fgets$this->con100 );
                                  
                  $length strlen$line );
                                  if ( 
                  $length >= && substr$line$length-2) == "\r\n" ) {
                                      
                  $line substr$line0$length-);
                                      
                  $this->debugger" getting line from server: " $line );
                                      return 
                  $line;
                                  } 
                              } 
                          } 
                          function 
                  debugger$text )
                          {
                              if ( 
                  $this->debug )
                                  echo 
                  $text "<br>";
                          } 
                          function 
                  tokenize$text$token )
                          {
                              
                  $this->token $token;
                              
                  $this->tokentext $text;
                              if ( 
                  $pos strpos$text$token ) ) {
                                  
                  $this->tokentext substr$text$pos );
                                  
                  $this->debugger"returning from tokenize: " substr$text0$pos ) );
                                  return 
                  substr$text0$pos );
                              } 
                              
                  $this->debugger"returning from tokenize: " $text );
                              return 
                  $text;
                          } 
                          function 
                  nexttoken()
                          {
                              return 
                  $this->tokenize$this->tokentext$this->token );
                          } 
                          function 
                  stat()
                          {
                              if ( 
                  $this->status != "loggedin" )
                                  return 
                  $this->error "not logged in";
                              if ( 
                  $this->put"STAT" ) == )
                                  return 
                  $this->error "Could not send the STAT command";
                              if ( 
                  $this->tokenize$this->get(), " " ) != "+OK" )
                                  return 
                  $this->error "Could not get STAT response";
                              
                  $this->debugger"mailcount: " $mail_count $this->nexttoken() );
                              
                  $this->debugger"mailsize: " $mail_size $this->nexttoken() );
                          } 
                          function &
                  listing()
                          {
                              if ( 
                  $this->status != "loggedin" )
                                  return 
                  $this->error "not logged in";
                              if ( 
                  $this->put"LIST" ) == )
                                  return 
                  $this->error "Could not send the LIST command";
                              if ( 
                  $this->tokenize$this->get(), " " ) != "+OK" )
                                  return 
                  $this->error "Could not get LIST response";
                              while ( 
                  true ) {
                                  
                  $response $this->get();
                                  if ( 
                  $response == "." )break;
                                  
                  $message intval$this->tokenize$response" " ) );
                                  
                  $this->size[$message] = $this->nexttoken();
                                  
                  $this->ids[$message] = $this->nexttoken();
                              } 
                              return 
                  $this->size;
                          } 
                          function &
                  ids()
                          {
                              return 
                  $this->ids;
                          } 
                          function 
                  retrieve$message, &$header, &$body )
                          {
                              if ( 
                  $this->status != "loggedin" )
                                  return 
                  $this->error "not logged in";
                              if ( 
                  $this->put"RETR $message) == )
                                  return 
                  $this->error "Could not send the RETR command";
                              if ( 
                  $this->tokenize$this->get(), " " ) != "+OK" )
                                  return 
                  $this->error "Could not get RETR response";
                              
                  $header $body = array();
                              for( 
                  $line 0;;$line++ ) {
                                  if ( 
                  GetType$response $this->get() ) != "string" )
                                      return 
                  $this->error "Could not retrieve the message";
                                  switch ( 
                  $response ) {
                                      case 
                  ".":
                                          return( 
                  "" );
                                      case 
                  "":
                                          break 
                  2;
                                      default:
                                          if ( 
                  substr$response0) == "." )
                                              
                  $response substr$response1strlen$response )-);
                                          break;
                                  } 
                                  
                  $header[$line] = $response;
                              } 
                              for( 
                  $line 0;;$line++ ) {
                                  if ( 
                  GetType$response $this->get() ) != "string" )
                                      return 
                  $this->error "Could not retrieve the message";
                                  switch ( 
                  $response ) {
                                      case 
                  ".":
                                          return( 
                  "" );
                                      default:
                                          if ( 
                  substr$response0) == "." )
                                              
                  $response substr$response1strlen$response )-);
                                          break;
                                  } 
                                  
                  $body[$line] = $response;
                              } 
                              return 
                  "";
                          } 
                      } 

                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #24
                    @TBT
                    cool, poste das Script doch bitte im Code-Schnipsel Forum
                    thanks
                    berni

                    php-Entwicklung | ebiz-consult.de
                    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                    die PHP Marktplatz-Software | ebiz-trader.de

                    Kommentar


                    • #25
                      respekt

                      Respekt und ab ins Code-Schnipsel-Forum würd ich sagen!
                      --------------------------------------
                      Signatur

                      Kommentar


                      • #26
                        Hallo, ich habe eben mal dsa Skript ausprobiert, aber irgendwie läd er und läd und läd, aber es passiert einfach nichts.
                        Hat jemand eine Idee an was das liegen kann?

                        Kommentar


                        • #27
                          setz mal in der Klasse

                          var $debug = 1;

                          dann kommen die debug Ausgaben
                          TBT

                          Die zwei wichtigsten Regeln für eine berufliche Karriere:
                          1. Verrate niemals alles was du weißt!


                          PHP 2 AllPatrizier II Browsergame

                          Kommentar


                          • #28
                            Hab das eben auch einmal ausprobiert, aber erhalte Fehlermeldungen

                            PHP-Code:
                            WarningWrong datatype for second argument in call to in_array in /usr/home/pop/test.php on line 12
                            Fatal error
                            Call to a member function on a non-object in /usr/home/pop/test.php on line 35 
                            Gibt es dieses Skript auch mit DB-Struktur, als funktionsfähiges Skript? DAnke.

                            Kommentar


                            • #29
                              @ TBT:

                              PHP-Code:
                              TODO:________MIME Mails and Attachment 
                              Hat sich da inzwischen was getan?Das würde mich brennend interessieren! Wie kann ich Attachments aus Emails "herausfiltern" und in einem Ordner ablegen?

                              Kommentar


                              • #30
                                es gibt da irgend ne funktion, die die parts splittet. müsstest mal nachsehen, wie die heißt, den namen hab ich jetzt grade nicht parat. aber vielleicht hilft das schon weiter.

                                Kommentar

                                Lädt...
                                X