ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
2369
2369
EMPFEHLEN
-
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
Ausgabe: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!';
}
?>
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
-
Versuch es mal mit:
PHP-Code:imap_body ( int imap_stream, int msg_number [, int flags] );
//oder
imap_fetchtext(imap_stream, msg_id, FT_UID);
-
@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
-
Hast du es schonmal so probiert?
Du musst halt die MessageID/Mail Nr. auslesen. Mit preg_match oder sowas.PHP-Code:imap_body($mbpointer, $messageid);
/* oder */
imap_fetchtext($mbpointer, $messageid);
Gruß
-
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?
Aber die Ausgabe ist dan so: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>';
?>
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
-
Kann mir niemand weiter Helfen?
-
28.06.07 21:36 #7
- 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 ;-)
-
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
-
28.06.07 23:19 #9
- 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 ;-)
-
Immer wenn ich es irgend wie zusammen geknorzt habe, kommt die Lösung

mein code:
Danke dir trozdemPHP-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&nav=verwaltung&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>';
?>
-
14.08.11 16:12 #11
- Registriert seit
- Aug 2011
- Beiträge
- 3
wie öffnest du den anhang nun?
Ähnliche Themen
-
Firefox Add-On für POP3/IMAP Mail Check?
Von cater im Forum Internet, DSL & FlatrateAntworten: 8Letzter Beitrag: 14.01.10, 07:48 -
pop3 fetchmal imap?
Von Shooter2k im Forum Linux & UnixAntworten: 1Letzter Beitrag: 16.08.07, 09:57 -
Mit PHP auf Pop3/Imap: Password ändern?
Von lukelukeluke im Forum PHPAntworten: 1Letzter Beitrag: 23.06.05, 13:09 -
suche webmail pop3,imap,wap
Von boelkstoff im Forum PHPAntworten: 2Letzter Beitrag: 24.08.03, 17:55 -
pop3, smtp, imap ....
Von redback79 im Forum PHPAntworten: 1Letzter Beitrag: 08.05.02, 13:02





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren