Mailinglisten-Archive |
Hallo liebe Liste,
ich habe ein sehr dringendes Problem und finde bislang keine Lösung.
Für meine Diplomarbeit (nicht Informatik ;)), die ich morgen
präsentieren muss habe ich ein Skript geschrieben, welches ein
Postfach abfragt. Falls in diesem Postfach eine ungelesene Mail mit
einem Bild als Anhang liegt, soll dieses Bild in JPG konvertiert und
in ein Verzeichnis auf dem Server gespeichert werden. Als Name wird
dabei eine Zahl verwendet, die um eins höher ist als das letzte
bisher existierende Bild (also 670.jpg, 671.jpg, 672.jpg etc.). Die
Abfrage ist über einen Cronjob realisiert, der das Postfach alle 10
Minuten checkt.
Das Problem liegt darin, dass bereits abgefragte Mails nicht als
gelesen gekennzeichnet werden, sodass nun dieselben Bilder wieder
und wieder gespeichert werden. Kann ich eine bearbeitete Mail
entweder (lieber) als gelesen markieren, so dass sie zwar
liegenbleibt, aber nicht mehr verarbeitet wird? Wenn nicht, kann ich
die Mail löschen?
Ein Auszug aus dem Code:
if($pbox = imap_open (<postbox-data>) // klappt
{
$check = imap_check($pbox);
$text = "";
$text .= "Neue Nachrichten: " . $check->Recent . "\n" ;
$text .= "Lese " . $check->Recent . " Nachrichten...\n\n";
for ($i=0; $i < $check->Recent; $i++)
{
$header = imap_headerinfo($pbox, $i+1);
$subject = $header->subject;
$fromadress = $header->from[0]->host;
$fromname = $header->from[0]->mailbox;
$body = imap_body($pbox, $i+1);
// Checke Anhang
}
Viele Grüsse,
Kiko
--
< O > christoph starkmann
phone: 0821-2429034
mobil: 0179-1162652
mailto: kiko at webspline.de
--
php::bar PHP Wiki - Listenarchive