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