Sonderzeichen werden nicht interpretiert

mC pAiN

Erfahrenes Mitglied
Hallo,

ich bin bei meinem Mail-Programm weiter gekommen. Ich lese per IMAP-Funktionen den Header und den Body meiner Mails aus, was auch funktioniert. Das ganze läuft in einer for-Schleife.
Jetzt mein Problem: Die deutschen Umlaute werden in der ersten Mail korrekt "übersetzt". In Mail 2 ist dies nicht mehr der Fall. Hier meine Funktion:

PHP:
function viewmails($num){

         $MAILSERVER    = "{mail.2xs.net/pop3:110}";
         $PHP_AUTH_USER = "user";
         $PHP_AUTH_PW   = "passwort";

         $mbox    = imap_open($MAILSERVER, $PHP_AUTH_USER, $PHP_AUTH_PW);
         $header  = imap_headerinfo($mbox, $num, 80, 80);
         $from    = $header->from;
         $udate   = $header->udate;
         $date    = Date("d.m.Y, H:i", $udate);
         echo "Mail Nr.: ". $num."<br>";
         $subject = $header->fetchsubject;
         if (is_array($from)){
           while(list($key, $val) = each($from)) {
             echo "Von         :  " . $fromaddr = sprintf("%s@%s", $from[0]->mailbox, $from[0]->host) . "<br>";
             echo "Mailbox     :  " . $from[0]->mailbox . "<br>";
             echo "Host        :  " . $from[0]->host . "<br>";
             echo "Betreff     :  " . $subject . "<br>";
             echo "Gesendet am :  " . $date . "<br>";
             echo "An          :  " . $header->toaddress . "<br><br><br>";
           } // ENDE while
         } // ENDE if

         echo nl2br(imap_fetchbody($mbox,$num, "1")) . "<br><center><b>NACHRICHT ENDE</b><br><hr noshade size='1'></center><br>";

         imap_close($mbox);
}

Woran kann das liegen. Ich habs mal mit der imap_utf8() Funktion versucht, aber Fehlanzeige :(
 
das liegt an dem Array das du mit list und each für die Übersetzung
benutzt .....

nach dem ersten Durchgang ist der Pointer im Array am ende
also muss der pointer vorher immer zurückgesetzt werden

ein reset rein und es sollte gehen :-)
 
Das Ausgeben des Body der Mail kommt aber doch erst nach der while-Schleife.
Wie soll ich denn da ein RESET reinbauen?


Noch eine Frage:

Wenn ich den Betreff einer Mail überprüfen möchte brauche ich ja die Funktion
imap_search(). Habe folgendes geschrieben, da ich wissen möchte, ob eine Mail von eBay da ist. Wenn ja soll er sie ausgeben, wenn nein, dann soll er sie nicht ausgeben:
PHP:
$suche = imap_search($mbox, "SUBJECT eBay");

Stimmt das so und wie kann ich das weiterverarbeiten?

PHP:
if($suche === true)

oder wie ?



Vielen Dank für eure Hilfe :)
 
Zuletzt bearbeitet:
Zurück