[PHP] Imap berichten kunnen niet gemarkeerd worden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hi, ik ben bezig met een scriptje dat via de IMAP functies in PHP mailtjes kan lezen. Nu lukt dat prima. Alleen wil ik wel wanneer een bericht geopend is, markeren dat het gelezen is. Nu kan dat volgens www.php.net met imap_setflag_full.

Nu gebruik ik dus deze functie, alleen wil die het mailtje niet markeren. In de headers van het mailtje blijft namelijk de "N" staan bij "Recent", wat betekend dat hij nog steeds niet is veranderd.

De volgende code gebruik ik, en zoals aangegeven in een comment op php.net gebruik ik ook geen "READ ONLY" flag bij de connectie wat een mogelijke oorzaak van dit probleem kon zijn...

PHP:
1
2
3
4
5
$inbox = @imap_open('{mail.server.nl/pop3:110}INBOX', 'email', 'test');

// ... code ...

imap_setflag_full($inbox, imap_uid($inbox, $_GET['id']), "\\SEEN \\FLAGGED", ST_UID);

Acties:
  • 0 Henk 'm!

  • real-doc
  • Registratie: Mei 2003
  • Niet online
Als je connect met POP3, dan kan je toch onmogelijk IMAP flags zetten ?
This function can also be used to open streams to POP3 and NNTP servers, but some functions and features are only available on IMAP servers.

[ Voor 53% gewijzigd door real-doc op 13-10-2003 20:09 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als jij het zegt... maar is er dan wel een andere manier om dit te doen?

Acties:
  • 0 Henk 'm!

  • real-doc
  • Registratie: Mei 2003
  • Niet online
Verwijderd schreef op 13 October 2003 @ 20:09:
Als jij het zegt... maar is er dan wel een andere manier om dit te doen?
Er zijn vele wegen die naar Rome leiden. Je zou bijvoorbeeld een echte imap verbinding met je server op kunnen zetten. Is dit niet mogelijk en kan je zelf ook geen imap server installeren op de mailserver, dan zou je ook een textfile/*sql database kunnen gebruiken waar je van ieder bericht een aantal eigenschappen of een checksum in bewaard en in zet of deze al gelezen is. Bij het opvragen van de lijst berichten van de pop-server vergelijk je deze en weet je of een bericht al gelezen is.

De laatste optie vereist uiteraard aardig wat programmeerwerk en zal zeker de snelheid niet ten goede komen bij grote aantallen berichten.