Mailinglisten-Archive |
Hallo Dennis und David, > >: "Dennis Sterzenbach" <lists at darknoise.de> >Sent: Wednesday, September 17, 2003 12:18 PM >Subject: [php] Threads aus Mails bilden > > Hallo alle zusammen, > > ich habe vor kurzem ein einfaches Mailinglist Tool für mich > und einen Freund entwickelt. Dieses setzt als PHP-Shell-Script > auf einen MTA auf und empfängt Mails, die an eine bestimmte > Adresse geschickt werden. > > snip snip ...... > > Hat jemand von Euch eine bessere Idee, wie ich das Problem > lösen könnte? > > > Freue mich über jede Idee :) > Ich habe das vor einiger Zeit auch geamcht! Das Problem zum Bilden eines Threads anhand des Subjects kann man elegant mit einer SQL-Query beim Ausgeben der Resultate erzeugen. Dies wird wiederum mit dem auslesen des Subjects mit like% gelöst und wird dann anhand des RE: und der zeitlichen Reihenfolge sortiert. > >From: "David Danier" <goliath.mailinglist at gmx.de> > > Aber was anderes: > Kannst du mir einen Tip geben, wie man die Headerfelder (To, From etc.) > richtig ausliest? Grundsätzlich wollte ich das mit einem preg_match()-Aufruf > machen, da mir nun allerdings einige Email untergekommen sind, bei denen z.B. > das To-Feld mehrzeilig ausgefüllt ist fehlt mir etwas der passende Regex-Code > (irgendwie klappen alle Ansätze nicht). > Hab das so gelöst: while ( list ( $lineNum,$line ) = each ($MsgOne) ) { if (eregi("^from:",$line)) { $_from=substr($line,0,-2); $_from=substr($_from,strpos($_from,':')+1); } elseif (eregi("^subject",$line)) { $_subject=substr($line,0,-2); $_subject=(substr($_subject,strpos($_subject,':')+1)); } elseif (eregi("^date",$line)) { $_date=substr($line,0,-2); $_date=(substr($_date,strpos($_date,':')+1)); } elseif(eregi("^cc",$line)) { $_cc=substr($line,0,-2); $_cc=(substr($_cc,strpos($_cc,':')+1)); } elseif(eregi("^to",$line)) { $_to=substr($line,0,-2); $_to=(substr($_to,strpos($_to,':')+1)); } $bodystart=$lineNum; } Gruss is
php::bar PHP Wiki - Listenarchive