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