imap_body auswerten

loddarmattheus

Erfahrenes Mitglied
Hallo Freunde,

nach mehreren Stunden und Dank Eurer Hilfe habe ich es hinbekommen, diverse eMail aus meinem Postfach auszulesen und die Headerdaten in eine Database einzutragen.

Mein Code:

PHP:
$mbox = imap_open("{$server/pop3:110}INBOX" , "$user", "$passwd"); 

//ruft Header Infos ab
$MC=imap_check($mbox);
$MN=$MC->Nmsgs;
$overview=imap_fetch_overview($mbox,"1:$MN",0);
$size=sizeof($overview);

//gibt Header von alt nach neu aus
for($i=0; $i<$size; $i++)
 {
 
  $val=$overview[$i];
  $msg=$val->msgno;
  $from=$val->from;
  $date=$val->date;
  $subj=$val->subject;
  echo "<PRE>#$msg<br />";
  echo "From:'$from'<br />";
  echo " Date:'$date'<br />";
  echo " Subject:'$subj'<br /><br />";
 
   if(($from=="Transaktionsende@ebay.de") OR ($from=="Auktionsende@ebay.de"))
 	{
			$query = 'insert into ebay(absender,date,subject) values("'.$from.'","'.$date.'","'.$subj.'")';
			$result = mysql_query($query);
	}
 }


// clean up and log out
imap_close($mbox, CL_EXPUNGE);

Allerdings komme ich mit dem mail_body nicht so ganz klar: Kann mir bitte jemand einen kurzen Denkanstoss geben, wie ich der Funktion imap_body beibringe, an welcher Stelle er sich die entsprechenden Infos rausfiltern soll.

Wie man oben aus dem Code heraus erkennt, möchte ich gern die EOA-Mail von eBay auswerten, die z.B. so aussehen:

Herzlichen Glückwunsch! Dieser Artikel wurde über Sofort-Kaufen erworben.


Artikelbezeichnung: Pentium ARCTIC COOLING SUPER SILENT 4 PRO
Artikelnummer: XXX
Sofort-Kaufen-Preis: EUR_6,90
Menge: 1
Betrag: EUR_6,90 (Ohne Verpackung und Versand)
Mitgliedsname des Verkäufers: XXX
E-Mail-Adresse des Verkäufers: ebay@xxxxx.de
Name: XXX
Straße: XXX
Ort: XXX
Mitgliedsname des Käufers: XXX
E-Mail-Adresse der Käufers: XXX@t-online.de
Name: XXX
Straße: XXX
Ort: XXX

Hinweis: Der Käufer kann noch in der Kaufabwicklung eine abweichende Lieferadresse angeben!. Beachten Sie daher bitte die E-Mail des Käufers zur Kaufabwicklung.

Verpackung & und Versand:
Standardversand (unversichert): EUR_6,90 für den ersten Artikel, EUR_1,00 für jeden weiteren Artikel

Kann mir bitte jemand helfen?

THX Loddar
 
Was möchtest du denn genau machen? Deine Auktionen verwalten?
Ich stand nämlich einmal vor dem gleichen Problem und habe hier gefragt.
Kann dir also einen Denkansatz geben:

Lass dir die EOA Mails als Textmails schicken und lies sie mit

PHP:
imap_fetchbody($mbox, $num, "1");

aus.

$mbox ist wohl klar
$num ist die Mailnummer
"1" steht für die Part-Nummer

Diese Funktion liefert einen bestimmten Teil einer MIME-kodierten Nachricht als String. Die Nummer des gewünschten Teils besteht aus von Punkten getrennten Zahlen, die den Index des Teils gemäß der IMAP4-Spezifikationen bezeichnen. Der Inhalt wird dabei von dieser Funktion nicht dekodiert.


Dann mußt du mit weiteren Funktionen die gewünschten Daten aus der Mail lesen...

Hoffe ich konnte helfen
 
Zurück