[PHP] IMAP mail niet flaggen als read bij uitlezen mailbox

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben wat aan het spelen met IMAP in php, de functies zijn echt geweldig !

Ik vroeg me alleen af of PHP op een manier met de IMAPserver communiceert op een dergelijk manier dat alles wat ik met de commands doe ook daadwerkelijk als "gedaan" worden gezien.

Ik merk bijvoorbeeld dat een mailbox welke ik uitlees met IMAP zodanig wordt uitgelezen dat een bericht direct als gelezen wordt geflagged.

Ik wil dat flaggen eigenlijk tegen gaan, ik vraag me alleen af of ik dan dubbele acties uit moet gaan voeren, dus uitlezen en dan niet flaggen in het commando van uitlezen. Of kan ik uitlezen zodat er bij voorbaar al niet geflagd wordt ?

Hetzelfde voor verwijderen van een mail, zal de IMAP server automatisch in de "trash" folder zetten of moet ik verwijderen en eigenlijk verplaatsen ?

Ik zie dat namelijk wel bij Horde bijvoorbeeld, verwijderde berichten blijven eigenlijk toch bestaan totdat je zegt "wis verwijderd".

Misschien dat iemand een toelichting kan geven of ik dergelijke flagacties zelf zal moeten doen of dat het een speciale manier van uitlezen is in PHP.

Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 08:05

BCC

Dit heeft niets met PHP te maken, maar dit is het standaard gedrag van Horde.

- Gelezen emails worden geflagged als gelezen.
- Verwijderde emails worden geflagged als deleted.

Je kan in horde instellen of de geflagde ook geflushed moeten worden bij het uitloggen, maar dit kan je natuurlijk ook op je imap server regelen.

Als je dit gedrag anders wil moet je even horde aanpassen.

Wat heb je in PHP al met Imap geprobeerd naast horde?

[ Voor 6% gewijzigd door BCC op 13-03-2008 19:18 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
BCC schreef op donderdag 13 maart 2008 @ 19:17:
Dit heeft niets met PHP te maken, maar dit is het standaard gedrag van Horde.

- Gelezen emails worden geflagged als gelezen.
- Verwijderde emails worden geflagged als deleted.

Je kan in horde instellen of de geflagde ook geflushed moeten worden bij het uitloggen, maar dit kan je natuurlijk ook op je imap server regelen.

Als je dit gedrag anders wil moet je even horde aanpassen.

Wat heb je in PHP al met Imap geprobeerd naast horde?
Anders lees je even ;)

Zoals je ziet ben ik direct bezig met de IMAP functies in PHP:

http://nl.php.net/imap

Ik vergelijk alleen wat zaken met Horde in gebruik aan de hand van de acties die ik zelf doe in PHP.

Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 08:05

BCC

Anders schrijf je even een duidelijk verhaal :). Je beschrijft eerst het gedrag van Horde en dan dingen met flags in PHP. Dus vandaar mijn laatste vraag:

Wat heb je in PHP al met Imap geprobeerd naast horde?

Maar wat je volgens mij wil is even de IMAP protocol specificatie lezen. Hier staat dit gedrag als het goed is in omschreven (http://www.imap.org/). Als hier een commando instaat dat kan lezen zonder te flaggen, dan is de kans groot dat dit in PHP ook beschikbaar is of dat je het vrij eenvoudig kan toevoegen.

[ Voor 29% gewijzigd door BCC op 13-03-2008 20:17 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
BCC schreef op donderdag 13 maart 2008 @ 20:11:
[...]

Anders schrijf je even een duidelijk verhaal :). Je beschrijft eerst het gedrag van Horde en dan dingen met flags in PHP. Dus vandaar mijn laatste vraag:
Ik begin in mijn laaste zinnen pas met Horde :? , je leest de post echt totaal niet. Ik vergelijk wat ik in PHP doe met acties die Horde ook kan uitvoeren
Wat heb je in PHP al met Imap geprobeerd naast horde?

Maar wat je volgens mij wil is even de IMAP protocol specificatie lezen. Hier staat dit gedrag als het goed is in omschreven (http://www.imap.org/). Als hier een commando instaat dat kan lezen zonder te flaggen, dan is de kans groot dat dit in PHP ook beschikbaar is of dat je het vrij eenvoudig kan toevoegen.
Ben ik dus mee bezig, er zijn alleen vele wegen welke naar Rome leiden.


Het idee is een single php pagina waar ik de laatste 20 berichten (ofzo) wil laten zien en een antwoord kan sturen aan de hand van die mail als ik op een linkje erachter klik.

Om dan "gelezen, beantwoord, enz" goed te kunnen gebruiken heb ik dit topic geopend.

Outbox enzo heb ik niet nodig, geen folders dus, simpele opsomming van mails met een reply venster eronder.

Ik heb voor de zekerheid even wat projecten bekeken, alleen Aeromail komt in de buurt, maar deze heeft zelfs nog teveel functies.

Het opsommen van die mails is niet zo lastig, dit heb je zo voor elkaar, het vervelende is dat die bij het ophalen dus al direct op "gelezen" komen te staan als je je mailbox weer opent in Horde, of net wat je wil.

Als ik nu de mails opsom onder elkaar met een simpel textformpje met een verzend knop onder elke mail zou ik een "gelezen" flag willen plaatsen als ik de mail beantwoord heb, of "beantwoord" zou logischer zijn in dat geval.

Aangezien ieder bericht een Msgno heeft lijkt me dit te doen, ik vraag me alleen af of dit niet een hele "rewrite" van een webmailclient gaat worden, want dan streef ik mijn doel voorbij.

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Ik neem aan dat je imap_fetchbody gebruikt om berichten te lezen, 1 van de opties (die duidelijk in de php handleiding staat) is FT_PEEK - Do not set the \Seen flag if not already set

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben hier een goed eind mee op weg, met headers kan ik een hele boel.

Wat ik alleen niet voor elkaar krijg met de headers wanneer ik een sizeof($headers) doe, om deze in weer te geven zodat het laatste bericht bovenaan staat.

Ik doe gewoon een:

PHP:
1
for ($i = 1; $i < $aantemails+1; $i++) {  }


Waar ++ vervangen door -- dit eigenijk zou moeten doen, maar dit wordt een eindeloze loop en ik weet niet waarom, maar het is wel logisch :)

Hoe zal ik deze order op een goede manier zetten ? ik bedoel, zoiets kan een perfomance klap geven als je het niet goed doet.

Acties:
  • 0 Henk 'm!

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
PHP:
1
2
3
for ($i = vanWaarde; $i <= totEnMetWaarde; doeIetsMet $i) {
// doe iets
}

Als je van laag naar hoog gaat, hoog je $i dus elke iteratie op ($i++) en ga je van:laag, naar:hoog.
Als je van hoog naar laag gaat, verlaag je $i dus elke iteratie ($i--) en ga je van:hoog, naar:laag.

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 08:05

BCC

Verwijderd schreef op woensdag 26 maart 2008 @ 17:56:
Waar ++ vervangen door -- dit eigenijk zou moeten doen, maar dit wordt een eindeloze loop en ik weet niet waarom, maar het is wel logisch :)

Hoe zal ik deze order op een goede manier zetten ? ik bedoel, zoiets kan een perfomance klap geven als je het niet goed doet.
Dude! Koop een PHP voor dummies boek, nu ! 8)7

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Ik ben momenteel ook met imap bezig.

Zorg gewoon simpelweg dat je /readonly opneemt in de connection string als je je connectie opzet en vwalla :)

[ Voor 9% gewijzigd door SchizoDuckie op 26-03-2008 18:42 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
SchizoDuckie schreef op woensdag 26 maart 2008 @ 18:40:
Ik ben momenteel ook met imap bezig.

Zorg gewoon simpelweg dat je /readonly opneemt in de connection string als je je connectie opzet en vwalla :)
Of headers lezen :) werkt ook :)
BCC schreef op woensdag 26 maart 2008 @ 18:40:
[...]

Dude! Koop een PHP voor dummies boek, nu ! 8)7
Ik ben je Dude niet :z , en ga even buiten spelen ofzo... forums zijn voor dit soort zaken.

[ Voor 30% gewijzigd door Verwijderd op 26-03-2008 18:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Fora zijn voor vragen ja, maar als je niet snapt hoe een for lus werkt is het misschien handig je eerst even wat beter in te lezen... is toch wel echte basic knowledge.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 26 maart 2008 @ 23:36:
Fora zijn voor vragen ja, maar als je niet snapt hoe een for lus werkt is het misschien handig je eerst even wat beter in te lezen... is toch wel echte basic knowledge.
Als de poster uiteindelijk niet snapt wat ik met die loop wil kan hij het ook gewoon vragen, want ik weet vrij zeker dat hij het niet weet omdat het met een dergelijke loop niet kon.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op woensdag 26 maart 2008 @ 17:56:
PHP:
1
for ($i = 1; $i < $aantemails+1; $i++) {  }


Waar ++ vervangen door -- dit eigenijk zou moeten doen, maar dit wordt een eindeloze loop en ik weet niet waarom, maar het is wel logisch :)
Niet gehinderd door enige PHP-kennis, maar klinkt dit niet logischer?
PHP:
1
for ($i = $aantemails; $i > 0; $i--) {  }

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 21-09 19:24

Patriot

Fulltime #whatpulsert

Verwijderd schreef op woensdag 26 maart 2008 @ 23:53:
[...]


Als de poster uiteindelijk niet snapt wat ik met die loop wil kan hij het ook gewoon vragen, want ik weet vrij zeker dat hij het niet weet omdat het met een dergelijke loop niet kon.
Wat je wilde was vrij duidelijk, alleen als je denkt dat in dat geval ++ vervangen door -- genoeg is blijkt inderdaad niet echt dat je een geweldige kennis van PHP hebt (of eigenlijk van de for-lus in het algemeen, die komen we écht niet alleen in PHP tegen).

Ondertussen is de poster boven me inderdaad iets beter op weg. Ik vermoed echter alleen dat de middelste expressie $i >= 0 moet zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klopt bovenstaand, ik was daar echter al uit :) Foutje is menselijk, zal het volgende keer even posten :)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Beter nog: ga zelf ff aan het debuggen voordat je de vraag hier stelt want dat je dit hier komt vragen en aangeeft "ik snap het echt niet waarom ie dat doet" geeft aan dat je zelf niet hebt gecontroleerd wat die code nu precies doet. Even $i afdrukken en je zou gelijk moeten zien waar het mis gaat.

En voor een aantal anderen: Policy m.b.t. replies in 'slechte' topics.

[ Voor 12% gewijzigd door Creepy op 27-03-2008 09:55 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1