kostenloser Webspace werbefrei: lima-city


E-Mails von Lima auslesen in php?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    Hallo Liebe Community, ich habe im Internet Folgendes Script gefunden um E-Mails auszulesen, habe mir auch eine Test mail zugeschickt doch leider bekomme ich nichts angezeigt, auch keine Errors, was muss ich ändern damit es klappt?


    <?php
    $imap = imap_open ("{mail.lima-city.de/pop3:995}INBOX", "support@mylonky.eu", "PASSWORT");
    $check = imap_mailboxmsginfo ($imap);
    $newmails = $check->Recent;
      for($count = 1; $count <= $newmails; $count++)
        {
    $info = imap_fetch_overview($imap, $count);
    foreach ($info as $msg) 
    {
     }
     $message = imap_body($imap, $count);
     $text = $msg->to;
    $needle = strpos($text, '@');
    $newnumber = substr($text, 0,$needle);
    echo $message;
    echo $newnumber;
    echo $newmails;
        }
        
    imap_close ($imap);
    									?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Erst mal: PHP-Fehlerausgabe in der Verwaltung aktivieren, dann mal richtig debuggen.
    Kriegst du überhaupt einer Verbindung, ist die Mail wirklich im Postfach angekommen, kommst du in die Schleife, ...
  4. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    ist Aktiviert es kommt nichts kein Verbindungsfehler kein Garnichts einfach nur weiß


    Und ja die Mail ist angekommen

    Beitrag zuletzt geändert: 28.6.2016 19:30:44 von mylonky
  5. Joa, dann lass dir doch mal $check entsprechend via print_r oder var_dump ausgeben.
  6. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    muellerlukas schrieb:
    Joa, dann lass dir doch mal $check entsprechend via print_r oder var_dump ausgeben.


    dann bekomme ich nur
    Parse error: syntax error, unexpected 'var_dump' (T_STRING) in /home/webpages/lima-city/mylonky/ucp.mylonky.eu/ucp/tests/mail.php on line 134

    <?php
    $imap = imap_open ("{mail.lima-city.de/pop3:995}INBOX", "support@mylonky.eu", "PASS");
    $check = imap_mailboxmsginfo ($imap);
    $newmails = $check->Recent;
      for($count = 1; $count <= $newmails; $count++)
        {
    $info = imap_fetch_overview($imap, $count);
    foreach ($info as $msg) 
    {
     }
     $message = imap_body($imap, $count);
     $text = $msg->to;
    $needle = strpos($text, '@');
    $newnumber = substr($text, 0,$needle);
    echo $message;
    echo $newnumber;
    echo $newmails;
        }
        
    imap_close ($imap);
    									?>
    									<?php
    									Void var_dump ( mixed $expression [, mixed $... ] )
    									?>


    Beitrag zuletzt geändert: 28.6.2016 19:54:31 von mylonky
  7. Weil du natürlich auch die Funktion richtig aufrufen musst und nicht einfach nur die Funktionsdefinition blind aus der Doku kopieren sollst... :wink:
  8. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    muellerlukas schrieb:
    Weil du natürlich auch die Funktion richtig aufrufen musst und nicht einfach nur die Funktionsdefinition blind aus der Doku kopieren sollst... :wink:


    Ja ok, ist Hilfreich xD

    habe es geändert in

    <pre>
    <?php
    print_r($check, true); //$results enthaelt nun die Ausgabe von print_r
    ?>
    </pre>

    scheint aber auch falsch zu sein weil mir wird wieder Nichts angezeigt :/
  9. Aus der Doku

    [...]
    Wenn Sie die Ausgabe von print_r() zum Weiterverarbeiten abfangen möchten, benutzen Sie dazu den Parameter return. Wenn dieser auf TRUE gesetzt ist, gibt print_r() die Information zurück, statt sie auszugeben.
    [...]


    D.h.
    $bar = 'mein String';
    $foo = print_r($bar, true); // maschinenlesbare Form von $bar steht in $foo
    print $foo; // $foo ausgeben
    
    // oder halt direkt
    print_r($bar); // maschinenlesbare Form von $bar an den Ausgabepuffer senden
  10. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    Hat sich erledigt, Funktioniert jetzt ^^

    Danke an alle :D

    Falls jemand ein ähnliches problem oder ein Script dafür sucht

    !!!Damit könnt ihr Mails nur Lesen aber nicht antworten!!!



    Falls ihr die Mails nach dem Lesen gelöscht haben wollt entfernt die // unten beim Löscheintrag
    <?php
     function imap_locale_sort($stream,$criteria,$reverse,$locale,$options)
    {
            if ($criteria!=SORTSUBJECT)
                    return (imap_sort($stream,$criteria,$reverse,$options));
    
            $unsorted = array();
            $sortresult = array();
    
            $MC=imap_check($stream);
            $MN=$MC->Nmsgs;
    
            $overview = imap_fetch_overview($stream,"1:$MN",0);
            $k=0;
            while( list($key,$val) = each($overview))
            {
                    $unsorted[$k]["uid"]=$val->uid;
                    $unsorted[$k]["subject"]=imap_utf8($val->subject);
                    $k++;
            }
            usort ($unsorted, create_function('$a,$b','setlocale(LC_ALL,$locale);return strcoll($a["subject"],$b["subject"]);'));
    
            for ($m=0;$m<count($unsorted);$m++)
                    array_push($sortresult,$unsorted[$m]["uid"]);
    
            if ($reverse)
                    $sortresult = array_reverse($sortresult);
    
            return $sortresult;
    }
    
    // POP3-Server
    $host="localhost"; //z.b. mail.lima-city.de
    $port="110";
    // User-Daten
    $user="user"; //bei Lima wäre das name@domain.tld
    $passwort="pass"; //euer passwort halt
     
    // Verbinden zur Mailbox
    $mailbox=imap_open("{".$host."/pop3:110}INBOX",$user,$passwort);
     
    // Überprüfen ob Verbindung erfolgreich,
    // dann weiter...
    if ($mailbox)
    {
    // Posteingang überprüfen
    $check=imap_check($mailbox);
    // Anzahl vorhandener Emails im Postfach
    $count_msg=$check->Nmsgs;
    // Anzahl neuer Emails im Postfach
    $count_new_msg=$check->Recent;
    
    // Emails auslesen
    for ($i=1; $i<=imap_num_msg($mailbox);
    $i++)
     
    {
    $sorted1 = imap_locale_sort($mailbox,SORTSUBJECT,0,'fa_IR',0);
     // Email Sortiere
    $sorted = imap_sort($mailbox,SORTDATE,$i);
    // Header erfassen
    $mail_header=imap_header($mailbox, $i);
     
    // Datum erfassen
    $mail_date=$mail_header->Date;
     
    // Mail-ID erfassen
    $mail_id=$mail_header->message_id;
     
    // Empfänger erfassen
    $mail_to=$mail_header->toaddress;
     
    // Absendername erfassen
    $mail_from_name=$mail_header->from [0]->personal;
     
    // Absender-eMail-Adresse erfassen
    $mail_from_address=$mail_header->from [0]->mailbox."@".$mail_header->from [0]->host;
     
    // Kopieempfänger erfassen
    $mail_copy_to=$mail_header->cc[0] ->mailbox."@".$mail_header->cc[0] ->host;
     
    // Antwortempfänger erfassen
    $mail_answer_to=$mail_header->reply_to;
     
    // Betreff erfassen
    $mail_subject=$mail_header->subject;
     
    // Nachricht erfassen
    $mail_body = imap_body($mailbox,$i);
     
     
    // Daten in db speichern
    include ("config.inc.php");
     
      $eintrag = "INSERT INTO support (vorname, mail, betreff,  anfrage, datum) VALUES ('$mail_from_name', '$mail_from_address', '$mail_subject', '$mail_body', '$mail_date')";
      $eintragen = mysql_query($eintrag);
     
     
     
     
    echo "e-Mail Nr.".$i."<br>";
    // Ausgabe in HTML
    echo '<b>Versendet am:</b> ';
    echo $mail_date."<br>";
     
    echo '<b>Eindeutige eMail-ID: </b>';
    echo $mail_id."<br>";
     
    echo '<b>Empfänger: </b>';
    echo $mail_to."<br>";
     
    echo '<b>Name des Absenders: </b>';
    echo $mail_from_name."<br>";
     
    echo '<b>E-Mail des Absenders: </b>';
    echo $mail_from_address."<br>";
    // echo $mail_from_address."<br>";
     
    echo '<b>Betreff: </b>';
    echo $mail_subject."<br><br>";
     
    echo '<b>Nachricht: </b>';
    echo $mail_body."<br><br>";
    echo "<b>ENDE<br><br></b>";
     
     
    // E-Mail nach lesen löschen
    // imap_delete($mailbox, $i);
    // imap_expunge($mailbox);
     
     
    }
    imap_close($mailbox);
    }
    
    
    ?>
  11. 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!