kostenloser Webspace werbefrei: lima-city


Lima-City Postfach auslesen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    askarian

    Kostenloser Webspace von askarian

    askarian hat kostenlosen Webspace.

    Hallo erstmals,

    Ich google, nutze die LC Suchfunktion und probiere jetzt schon seit geschlagenen 2 Stunden, ob man irgendwie das Lima-City Postfach abfragen kann.
    Ich versuche es derzeit mit folgenden Code:
    $server = "{mail.lima-city.de}INBOX";
    $user = "admin@askarian.net";
    $passwd = "...pwd...";
    
    $MailboxPointer = imap_open($server, $user, $passwd);
    if($MailboxPointer)
    { 
    //ANZEIGEN DER EMAILS
     imap_close($MailboxPointer);
    }
    else
    {
        echo "Keine Verbindung zum Mail-Postfach!";
    }


    Ich kriege aber immer: Keine Verbindung zum Mail-Postfach!

    Was soll ich tun?
    Ich habe gehört, dass es die imap_open Funktion nicht mehr auf LC gibt.


    Danke im Vorraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Warum benutzt du nicht die ABfrage über POP3. Ich habe dies zum Benachrichtigen von neuen EMails bzw. Herunterladen lokal (mit AutoIt) getestet und es funktioniert einwandfrei.
  4. Autor dieses Themas

    askarian

    Kostenloser Webspace von askarian

    askarian hat kostenlosen Webspace.

    Meinst du damit:
    $fp=fsockopen("mail.hostname.de",110);
    if ($fp)
    {
      echo fgets ($fp, 1024)."<br>";
      $user="benutzer";
      $passwort="pass";
      fputs ($fp, "USER $user");
      echo fgets ($fp, 1024) . "<br>";
      fputs($fp, "PASS $passwort");
      echo fgets ($fp, 1024) ."<br>";
      fputs ($fp, "STAT");
      echo "STATUS:". fgets ($fp, 1024) . "<br>";
      fputs ($fp, "LIST");
      echo "LISTE:" . fgets ($fp, 2048) . "<br>";
      fputs ($fp, "RETR");
      echo "retr:" . fgets ($fp, 2048) . "<br>";
      fputs($fp, "QUIT");
      echo "verlassen:" . fgets($fp, 1024) ."<br>";
      fclose($fp);
    }


    ???

    Ich hab es noch nicht getestet, weil ich derzeit am anderen Rechner sitze.
  5. Da mich das Theam auch interessiert habe ich mit dieser Klasse:
    <?php
    /*
        Really generic POP class, instead of using IMAP/SOCKETS
    */
    
    class pop {
        #####################
        ## Class Variables ##
        #####################
    
        var $username = "";
        var $password = "";
        var $host = "";
        var $port = "";
    
        var $pop_connect = "";
        var $log = "";
        var $delete = "0";
    
        #############################
        ## Used to create new clas ##
        #############################
    
        function pop ( $user, $pass, $host = "127.0.0.1", $port = "110" )
        {
            if ( $user == "" ) { return 0; }
            if ( $pass == "" ) { return 0; }
            if ( $host == "" ) { return 0; }
            $this->port = $port;
            $this->username = $user;
            $this->password = $pass;
            $this->host = $host;
            return 1;
        }
    
        ##################################
        ## Connect to your pop server,  ##
        ## return how many messages, or ##
        ## an error code                ##
        ##################################
    
        function connect ()
        {
            $this->pop_connect = fsockopen($this->host, $this->port, $error_number, $error_string, 30);
            if ( !$this->pop_connect )
            {
                echo "$error_string ($error_number)<br>\n";
                return -1;
            }
            $results = $this->_read();
            if ( $this->_check($results) )
            {
                $this->_write("USER $this->username");
                $results = $this->_read();
                if ( $this->_check($results) )
                {
                    $this->_write("PASS $this->password");
                    $results = $this->_read();
                    if ( $this->_check($results) )
                    {
                        return $this->_howmany($results);
                    }
                    else
                        return -4;
                } else
                    return -3;
            }
            return -2;
        }
    
        ##################################
        ## Check to see how many emails ##
        ## there are in your inbox      ##
        ##################################
    
        function _howmany ()
        {
            $this->_write("STAT");
            $results = $this->_read();
            list ( $results, $messages, $bytes ) = split(" ", $results);
            return $messages;
        }
    
        ####################################
        ## check to make sure it returned ##
        ## an "OK" from server            ##
        ####################################
    
        function _check ( $results )
        {
            if ( preg_match("/\+OK/", $results) )
                return 1;
            else
                return 0;
        }
    
        ##################################
        ## Used to read from connection ##
        ##################################
    
        function _read ( $bytes = 128 )
        {
            $results = "";
            $results = fread($this->pop_connect, $bytes);
            $this->log .= $results;
            return $results;
        }
    
        #################################
        ## Used to write to connection ##
        #################################
    
        function _write ( $message )
        {
            $this->log .= $message . "\n";
            fwrite($this->pop_connect, $message . "\n");
        }
    
        ####################################
        ## Lets see this log we have made ##
        ####################################
    
        function showlog ()
        {
            return $this->log;
        }
    
        #################################
        ## By default, it won't delete ##
        ## any e-mails stored.  If you ##
        ## want to, just call this     ##
        ## function.                   ##
        #################################
    
        function delete ()
        {
            $this->delete = "1";
        }
    
        ##################################
        ## Returns the email, including ##
        ## headers and body back in an  ##
        ## array                        ##
        ##################################
    
        function getmessage ( $id )
        {
            $this->_write("RETR $id");
            $body_len = $this->_read();
            preg_match_all("/([0-9]+)/", $body_len, $matches);
            $length = $matches[0][0];
            if ( $length <= 1024 )
                $email = $this->_read($length);
            else
            {
                list($loop, $dec) = split("\.", $length / 1024);
                for ( $i = 0; $i < $loop; $i++ )
                    $email .= $this->_read(1024);
                if ( $dec )
                {
                    $read = 1024 * $loop;
                    $length = $length - $read;
                    $email .= $this->_read($length);
                }
            }
            if ( $this->delete )
            {
                $this->_write("DELE $id");
                $results = $this->_read();
            }
            list($headers, $body, $end) = split("\r\n\r\n", $email);
            $email = "";
            $array = split("\n", $headers);
            $count = count($array);
            for ( $i = 1; $i < $count; $i++ )
            {
                if ( preg_match("/: /", $array[$i]) )
                {
                    list($index, $contents) = split(":", $array[$i]);
                    $index = strtolower($index);
                    $email[$index] = $contents;
                    $contents = "";
                } else {
                    $contents = trim($array[$i]);
                    $email[$index] .= $contents . "\n";
                    $contents = "";
                }
            }
            $email["body"] = $body;
            return $email;
        }
    
        ##################################
        ## Disconnects from your server ##
        ##################################
    
        function disconnect ()
        {
            $this->_write("QUIT");
            $this->_read();
        }
    }
    ?>
    und diesem aufrufendem Skript:
    <?php
        include("pop.php");
    	error_reporting(E_ALL);
    ini_set('display_errors', 1);
        $username = "MyName@autobert.de";
        $password = "TopSecret";
        $host = "mail.autobert.de";
        $conn = new pop($username, $password, $host);
        $messages = $conn->connect();
        switch ( $message ) {
            case "-1":
                echo "Can't connect to server $server";
                break;
            case "-2":
                echo "Can't read anything from server?";
                break;
            case "-3":
                echo "Bad User!";
                break;
            case "-4":
                echo "Bad Password!";
                break;
            default:
                echo "Sie haben $messages E-Mail(s) <br>\n";
                echo "<br>\n";
                for ($i = 1; $i <= $messages; $i++) {
                    echo "<b>Email " . $i . "</b><br/>";
                    $message = $conn->getmessage($i);
                    print_r($message);
                    echo "<br/><br/>";
                }
                $conn->disconnect();
                break;
        }
    ?>
    getestet. Skripte gefunden auf http://www.flashhilfe.de/forum/php-und-mysql/emails-abfragen-mit-pop3-klasse-294298-294298.html Ausgegeben wird die Anzahl der EMails und für jede EMail ein Array:
    Array ( [] => by mail.lima-city.de (Postfix) with SMTP id E964480924FC for ; Wed, 22 Feb 2012 05:19:57 +0100 (CET) [received] => from **** ([xx.xxx.42.111]) by smtp.web.de (mrweb001) with ESMTPA (Nemesis) id 0Ls9JH-1SSPBx32vn-013pkb; Wed, 22 Feb 2012 05:19:51 +0100 [thread-index] => AczxGS5ylHg5cT3TQpCGInrgVzSTKQ== [thread-topic] => Userinfo [from] => "bert" [to] => [subject] => Userinfo [date] => Wed, 22 Feb 2012 05 [message-id] => <775A0AEC381A4E38A20B6AAB14DA7A1D@ALDI> [mime-version] => 1.0 [content-type] => text/plain [content-transfer-encoding] => 7bit [x-mailer] => Microsoft CDO for Exchange 2000 [content-class] => urn [importance] => Normal [priority] => normal [x-mimeole] => Produced By Microsoft MimeOLE V6.00.2900.6157 [x-provags-id] => V02Lxv7vqWvf8KTgt24kKv+Hv9eLozwzzdih3V77C2WGwTg+NaVw6 Y4Uaytcs9gOnlb2/DMijnzmBM9gKpnp84AgfKZbBaSPkLs5yMI jnV5AtHR8fjd8/Rmv80FiyHsGX6b5cBoZiGtNWCJYVfmZH4lqW vo1RPDWBBHa7AstezjtMw== [x-dspam-result] => Innocent [x-dspam-processed] => Wed Feb 22 05 [x-dspam-confidence] => 1.0000 [x-dspam-probability] => 0.0023 [x-dspam-signature] => 4f446ced38534412315416 [body] => Test-2 Dies ist die Nachricht)


    Beitrag zuletzt geändert: 28.2.2012 8:42:24 von autobert
  6. Autor dieses Themas

    askarian

    Kostenloser Webspace von askarian

    askarian hat kostenlosen Webspace.

    Danke für das Script.
    Hatte sowas noch nicht gefunden.

    Ich werde es morgen einmal testen...


    €: ist das:
    $messages = $conn->connect();
    switch ( $message ) {

    so richtig? ich habe daraus mal eine Variable gemacht

    €2: es funktioniert. Danke

    Beitrag zuletzt geändert: 29.2.2012 16:46:31 von askarian
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!