Mailinglisten-Archive |
Thomas Hausheer wrote: > Hallo Hallo Thomas! > versuche mit den php imap-Funktionen ein Mail auszulesen. Nun tauchen > ein paar Fragen auf! > > $s = imap_fetchstructure($mbox,$msgno); > if (count($s->parts) > 0){ > ... > } > > Bei simplen Mails taucht immer die Fehlermeldung: Notice: Undefined > property: stdClass::$parts in /Library/WebServer/www/bhts/ > imap.testpreview.php on line ... auf. Warum? Ist lange her, das ich mich damit beschäftigt habe, aber aus meiner Erinnerung glaube ich, das ganz einfache Plaintextmails gar keine Parts haben. > Des weiteren versuche ich eine interne ID jeder Mail auszulesen: > $h = imap_header($mbox,$msgno); > $h->message_id; > > Komischerweise je nach Mail hat es eine Message_id oder auch nicht. > Gibt es keine interne ID die immer erstellt wird und einmalig ist? > Möchte die Mails nachher in eine DB speichern uns suche eine > Möglichkeit zu checken ob ein Mail bereits in der DB ist oder nicht. Soweit ich weiß, gibt es keinerlei Verpflichtung für den Emailsender eine eindeutige ID für die Nachricht zu generieren. Du könntest imap_uid() versuchen (http://php.net/imap_uid). Wahrscheinlich ist es aber für deine Zwecke das sicherste, nach dem Datum zu suchen bzw. eine Kombination aus Datum, Sendeadresse und Empfangsadresse zur Identifikation zu nutzen. Florian
php::bar PHP Wiki - Listenarchive