phpbar.de logo

Mailinglisten-Archive

[php] imap

[php] imap

Florian Grell | werk4.net grell at werk4.net
Mi Apr 28 10:33:44 CEST 2010


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