tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
2369
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von crashx
    crashx crashx ist offline Mitglied Brokat
    Registriert seit
    Sep 2005
    Ort
    Schweiz
    Beiträge
    280
    Hallöe wieder einmal.

    Ich studiere schon lange an diesem Thema herum, aber ich kapiere das einfach nicht.
    Die ganzen imap funktionen auf php.net verstehe ich einfach nicht.

    Ich möchte ja nur, Schauen ob es neue Mails gegeben hat, von wem (email adresse), datum,
    und den inhalt.

    Ich hab mal begonnen im Internet zu Recherchieren und bin schon weit gekommen.
    Nur ich verstehe es nicht und wenn ich es nicht verstehe, kann ich es nicht Umsetzen.

    *.php
    PHP-Code:
    $mbpointer imap_open($pop3$user$pass);

    if(
    $mbpointer){
      echo 
    'Verbindung zum Mail-Postfach hergestellt!<br><br>';
      echo 
    'Nachrichten im Posteingang:<br><br>';
      
    $headers imap_headers($mbpointer);
      
      if(
    $headers != false){
        while(list(
    $key$value) = each($headers)){
          echo
    $value.'<br>';
        }
      }
      
    imap_close($mbpointer);
    }else{
      echo 
    'Keine Verbindung zum Mail-Postfach!';
    }
    ?> 
    Ausgabe:
    Code :
    1
    2
    3
    4
    5
    
    Verbindung zum Mail-Postfach hergestellt!
     
    Nachrichten im Posteingang:
     
    N 1)27-Jun-2007 Aurel Itin test (4499 chars)

    So weit habe ich das ja verstanden, es gibt mir die Header Informationen der Mail aus:

    Mail Nr. / Datum / Absender / Subject / ?

    Aber wie komme ich an die anderen Angaben? Ich bin einfach einbischen überfordert im moment weil ich es ned so ganz Kapiere.

    Hoffe auf ein bischen Hilfe
     

  2. #2
    ssurfer ssurfer ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    146
    Versuch es mal mit:

    PHP-Code:
     imap_body int imap_streamint msg_number [, int flags] );

    //oder

    imap_fetchtext(imap_streammsg_idFT_UID); 
     

  3. #3
    Avatar von crashx
    crashx crashx ist offline Mitglied Brokat
    Registriert seit
    Sep 2005
    Ort
    Schweiz
    Beiträge
    280
    @ssurfer

    Das ist nett von dir, mich auf diese funktionen aufmerksam zu machen,
    aber ich habe mich mit diesen funktionen Intensiv auseinander gesetzt.
    Das dumme ist nur, das ich keinen Plan habe wie ich sie verwenden muss
     

  4. #4
    Westbär Westbär ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Ort
    Wien
    Beiträge
    44
    Hast du es schonmal so probiert?

    PHP-Code:
    imap_body($mbpointer$messageid); 
    /* oder */
    imap_fetchtext($mbpointer$messageid); 
    Du musst halt die MessageID/Mail Nr. auslesen. Mit preg_match oder sowas.


    Gruß
     

  5. #5
    Avatar von crashx
    crashx crashx ist offline Mitglied Brokat
    Registriert seit
    Sep 2005
    Ort
    Schweiz
    Beiträge
    280
    OK bin ein stück weiter gekommen, aber zufrieden bin ich nicht!
    Ich verstehe den teil mit dem: imap_body, imap_fetchbody, imap_fetchstructure nicht.

    Wie kann ich nur den Text heraus filtern?

    PHP-Code:
    <?PHP
    $mbox     
    imap_open($pop3$user$pass);
    $mboxinfo imap_mailboxmsginfo($mbox);
    echo 
    '<ul style="list-style: none; width: 360px;">';
      echo 
    '<li style="width: 80px; float: left;">';
        echo 
    'MSG:NR';
      echo 
    '</li>';
      echo 
    '<li style="width: 180px; float: left;">';
        echo 
    'MSG:FROM';
      echo 
    '</li>';
      echo 
    '<li style="width: 100px; float: left;">';
        echo 
    'MSG:SUBJECT';
      echo 
    '</li>';
      for(
    $x 1;$x<=$mboxinfo->Nmsgs$x++){
        
    $header imap_header($mbox,$x);
          echo 
    '<a href="'.$_SERVER['PHP_SELF'].'?read='.trim($header->Msgno).'">';
            echo 
    '<li style="width: 80px; float: left;">';
              echo 
    trim($header->Msgno);
            echo 
    '</li>';
            echo 
    '<li style="width: 180px; float: left;">';
              echo 
    $header->from[0]->mailbox.'@'.$header->from[0]->host;
            echo 
    '</li>';
            echo 
    '<li style="width: 100px; float: left;">';
              echo 
    $header->subject;
            echo 
    '</li>';
          echo 
    '</a>';
          if(isset(
    $_GET['read'])){
              if(
    $_GET['read'] == trim($header->Msgno)){
              echo 
    '<li style="width: 360px; float: left;">';
                
    $body imap_body($mbox,$x);
                echo 
    nl2br($body);
              echo 
    '</li>';
            }
          }
      }
    echo 
    '</ul>';

    ?>
    Aber die Ausgabe ist dan so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    This is a multi-part message in MIME format.
     
    ------=_NextPart_000_0000_01C7B98D.ED4A1110
    Content-Type: text/plain;
    charset="us-ascii"
    Content-Transfer-Encoding: 7bit
     
     
     
    Hallo ich bin ein Text
     
    MfG und Danke
     
     
     
     
    ------=_NextPart_000_0000_01C7B98D.ED4A1110

    Aber ich will nur das ausgeben:

    Code :
    1
    2
    3
    
    Hallo ich bin ein Text
     
    MfG und Danke

    Ich kapiers immer noch nicht
     

  6. #6
    Avatar von crashx
    crashx crashx ist offline Mitglied Brokat
    Registriert seit
    Sep 2005
    Ort
    Schweiz
    Beiträge
    280
    Kann mir niemand weiter Helfen?
     

  7. #7
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Schau mal:

    To get the full body of the message you can use this. I couldn't find this function in the docs. It looks like it is not documented.
    imap_fetchtext($imap_stream,$msg_id,FT_UID);
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    Avatar von crashx
    crashx crashx ist offline Mitglied Brokat
    Registriert seit
    Sep 2005
    Ort
    Schweiz
    Beiträge
    280
    To get the full body of the message you can use this. I couldn't find this function in the docs. It looks like it is not documented.
    imap_fetchtext($imap_stream,$msg_id,FT_UID);

    Ich will ja nicht den Ganzen Body!

    Nur die Nachricht:

    Mit imap_fetchtext() erreicht man annähernd das gleiche wie mit imap_body()
    und zwar das hier:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    This is a multi-part message in MIME format.
     
    ------=_NextPart_000_0000_01C7B98D.ED4A1110
    Content-Type: text/plain;
    charset="us-ascii"
    Content-Transfer-Encoding: 7bit
     
     
     
    Hallo ich bin ein Text
     
    MfG und Danke
     
     
     
     
    ------=_NextPart_000_0000_01C7B98D.ED4A1110
     

  9. #9
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Sorry, ich würde dir echt gern professionell helfen, ich hab aber weder nen IMAP-Server laufen noch diese Funktionen jemals benutzt. Aber ich hab was schönes gefunden: http://www.t4vn.net/example/showcode...ils-(PHP).html
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  10. #10
    Avatar von crashx
    crashx crashx ist offline Mitglied Brokat
    Registriert seit
    Sep 2005
    Ort
    Schweiz
    Beiträge
    280
    Immer wenn ich es irgend wie zusammen geknorzt habe, kommt die Lösung

    mein code:
    PHP-Code:
    <?PHP
    $mbox     
    imap_open($pop3$user$pass);
    $mboxinfo imap_mailboxmsginfo($mbox);
    echo 
    '<ul class="gallileft" style="width: 540px;">';
      echo 
    '<li style="width: 80px; float: left;">';
        echo 
    'MSG:NR';
      echo 
    '</li>';
      echo 
    '<li style="width: 160px; float: left;">';
        echo 
    'MSG:FROM';
      echo 
    '</li>';
      echo 
    '<li style="width: 140px; float: left;">';
        echo 
    'MSG:SUBJECT';
      echo 
    '</li>';
      echo 
    '<li style="width: 160px; float: left;">';
        echo 
    'MSG:DATE';
      echo 
    '</li>';
      for(
    $x 1;$x<=$mboxinfo->Nmsgs$x++){
        
    $header imap_header($mbox,$x);
        echo 
    '<a href="'.$_SERVER['PHP_SELF'].'?read='.trim($header->Msgno).'&uri=verwaltung&amp;nav=verwaltung&amp;dns=verwaltung" class="link4">';
          echo 
    '<li style="width: 80px; float: left;">';
            echo 
    trim($header->Msgno);
          echo 
    '</li>';
          echo 
    '<li style="width: 160px; float: left;">';
            echo 
    $header->from[0]->mailbox.'@'.$header->from[0]->host;
          echo 
    '</li>';
          echo 
    '<li style="width: 140px; float: left;">';
            echo 
    $header->subject;
          echo 
    '</li>';
          echo 
    '<li style="width: 160px; float: left;">';
            echo 
    $header->MailDate;
          echo 
    '</li>';
        echo 
    '</a>';
        if(isset(
    $_GET['read'])){
          if(
    $_GET['read'] == trim($header->Msgno)){
            echo 
    '<li style="width: 500px; float: left; border-top: 1px solid #000000;'
                  
    .'border-bottom: 1px solid #000000; padding: 8px 0 8px 20px;'
                  
    .'margin: 6px 0 6px 0;">';
            
              
    $struct imap_fetchstructure($mbox,$x);
              
    $parts $struct->parts;
              
    $i 0;
              if (!
    $parts){
                
    $attachment = array();
                
    $content imap_body($mbox,$x);
              }else{
                
    $endwhile false;
                
    $stack = array();
                
    $content "";
                
    $attachment = array();
                while (!
    $endwhile){
                  if (!
    $parts[$i]){
                    if (
    count($stack) > 0){
                      
    $parts $stack[count($stack)-1]["p"];
                      
    $i     $stack[count($stack)-1]["i"] + 1;
                      
    array_pop($stack);
                    }else{
                      
    $endwhile true;
                    }
                  }
                  if (!
    $endwhile){
                    
    $partstring "";
                    foreach (
    $stack as $s) {
                      
    $partstring .= ($s["i"]+1) . ".";
                    }
                    
    $partstring .= ($i+1);
                    if (
    strtoupper($parts[$i]->disposition) == "ATTACHMENT"){
                      
    $attachment[] = array("filename" => $parts[$i]->parameters[0]->value,
                                            
    "filedata" => imap_fetchbody($mbox$x$partstring));
                    }elseif(
    strtoupper($parts[$i]->subtype) == "PLAIN"){
                      
    $content .= imap_fetchbody($mbox$x$partstring);
                    }
                  }
                  if (
    $parts[$i]->parts){
                    
    $stack[] = array("p" => $parts"i" => $i);
                    
    $parts   $parts[$i]->parts;
                    
    $i 0;
                  }else{
                    
    $i++;
                  }
                }
              }
              echo 
    nl2br($content);
            echo 
    '</li>';
          }
        }
      }
    echo 
    '</ul>';

    ?>
    Danke dir trozdem
     

  11. #11
    Lucas Löffel Lucas Löffel ist offline Grünschnabel
    Registriert seit
    Aug 2011
    Beiträge
    3
    wie öffnest du den anhang nun?
     

Ähnliche Themen

  1. Firefox Add-On für POP3/IMAP Mail Check?
    Von cater im Forum Internet, DSL & Flatrate
    Antworten: 8
    Letzter Beitrag: 14.01.10, 07:48
  2. pop3 fetchmal imap?
    Von Shooter2k im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 16.08.07, 09:57
  3. Mit PHP auf Pop3/Imap: Password ändern?
    Von lukelukeluke im Forum PHP
    Antworten: 1
    Letzter Beitrag: 23.06.05, 13:09
  4. suche webmail pop3,imap,wap
    Von boelkstoff im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.08.03, 17:55
  5. pop3, smtp, imap ....
    Von redback79 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 08.05.02, 13:02