imap_headerinfo Fehler beim Array auslesen

Hallo liebe Community,
ich komme grade irgendwie nicht weiter…
ich kriege es einfach nicht hin mit der Funktion imap_headerinfo denn Array auszugeben,
ich google nun schon seit einer gefühlten Ewigkeit nach Hilfe, finde aber leider nichts :frowning:
[php]
$hostname = ‚{test.de:143/novalidate-cert}‘;
$username = ‚test@test.de‘;
$password = ‚1234‘;
//connect to imap
$mbox = imap_open($hostname,$username, $password);
//read the Header/Body
$no = 1;
$headers = imap_headers($mbox);
$body = imap_fetchbody($mbox, $no, 1);
$numberofmails = count($headers);
echo „Emails :“.$numberofmails;
//Email Output
for ($i = 0; $i < count($headers); ++$i)
{
$header = imap_headerinfo($mbox, $i);
echo „


“;
echo „Betreff :“.„
“.$headers[$i].„
“;
echo „
“;
echo „Nachricht :“.„
“.imap_fetchbody($mbox, $i+1, 1).„
“ ;
$from = $header->from;
foreach ($from as $id => $object) {
$fromname = $object->personal;
$fromaddress = $object->mailbox . „@“ . $object->host;
};
echo $fromaddress;
}

//close imap
imap_close($mbox);

[/php]
Allerdings erhalte ich beim ersten Aufruf der Schleife folgenden Fehler Code:
Warning: Invalid argument supplied for foreach() in /var/customers/webs/ni675864_1/email-abfrage.php on line 40
schreibe ich denn Code so:
[php]
for ($i = 0; $i < count($headers); ++$i)
{
echo „


“;
echo „Betreff :“.„
“.$headers[$i].„
“;
echo „
“;
echo „Nachricht :“.„
“.imap_fetchbody($mbox, $i+1, 1).„
“ ;
$header = imap_header($mbox, $i );
$from = $header->from;
foreach ($from as $id => $object) {
$fromname = $object->personal;
$fromaddress = $object->mailbox . „@“ . $object->host;
};
echo $fromaddress;
}
[/php]
erhalte ich wieder beim ersten Aufruf die Fehler Meldung:
Warning: imap_header(): Bad message number in /var/customers/webs/ni675864_1/email-abfrage.php on line 38 Warning: Invalid argument supplied for foreach() in /var/customers/webs/ni675864_1/email-abfrage.php on line 40
Vielen Dank im Voraus und L.G.
Jappi00

Schreib mal statt

[php]for ($i = 0; $i < count($headers); ++$i)[/php]

[php]for ($i = 0; $i < count($headers); $i++)[/php]

und schau dir auch mal den Kommentar hier an:
http://php.net/imap_headerinfo#95012

Danke dir,
habe den Code wie folgt angepasst:
[php]
//Email Output
for ($i = 0; $i < count($headers); $i++)
{
$header = imap_headerinfo($mbox, $i);
echo „


“;
echo „Betreff :“.„
“.$headers[$i].„
“;
echo „
“;
echo „Nachricht :“.„
“.imap_fetchbody($mbox, $i+1, 1).„
“ ;
$from = $header->from;
foreach ($from as $id => $object) {
$fromname = $object->personal;
$fromaddress = $object->mailbox . „@“ . $object->host;
};
echo $fromaddress;
}
[/php]
allerdings spuckt er nun
Warning: Invalid argument supplied for foreach() in /var/customers/webs/ni675864_1/email-abfrage.php on line 40
aus, ich denke dass es schon an der $i Variabel liegt, weiss aber noch nicht genau warum…

Achja, das ist mir auch schon aufgefalle, allerdings möchte ich es erstmal im Groben hinbekommen…
Ich behalte es im Hinterkopf! Danke

Schau dir bitte mal den Link an. Ich denke Du iterierst hier nicht durch ein Array. Debugge auch mal die Variablen die Du verwendest.

Wenn ich es richtig verstehe (sory bin nicht der beste in Englisch) wird ausgesagt das wenn man imap_headers(); vorher ausführt, die Ladezeit verkürzt wird… Aber was hat das mit imap_headerinfo zu tun? Entschuldigung, aber irgendwie bin ich jetzt total verwirrt…

Hier mal das Ergebniss wie es mit aktuellem Code aussieht:
http://www.mediatrax.de/email-abfrage.php

Oh entschuldigung, Ich habe die variabel mal gedebuggt…
Er zeigt mir array(2) { [0]=> string(82) " 1) 5-Jun-2015 @.net NACHRICHT (1411 chars)" [1]=> string(62) " 2) 6-Jun-2015 @. net NACHRICHT (1265 chars)" } an, anscheinend ist doch alles richtig oder?