Reputation: 107
I am using Imap function to fetch the emails through yahoo mail. Then i set the flag on each email because when in future i call the imap search i will not get the emails that are already fetched.This is how i get the emails.
$emails = imap_search($inbox,"UNFLAGGED");
Then i apply the flag using the code :
foreach($emails as $email_number) {
imap_setflag_full($inbox, $email_number, "\\Flagged \\Seen", ST_UID);
But when i call the imap_search($inbox,"UNFLAGGED");
i get the same emails.
The emails which are already been flagged should not fetch when i call the imap_search second time.
I Also tried imap_search($inbox,"unflagged")
and imap_search($inbox,"Unflagged")
and imap_search($inbox,"UnFlagged")
but still all emails are fetched.
I tried imap_search($inbox,"UNSEEN")
it is useful in case when the email is not read manually by user (Logging in yahoo mail and then read).
In my case i need all the emails which are not "Flagged" by me using Imap.
Need help on this. Thanks in advance
Upvotes: 0
Views: 619
Reputation: 10985
You are searching message sequence numbers, but setting flags on UIDs. Pick one or the other. I suggest always using UIDs. Have you tried adding SE_UID to search:
$emails = imap_search($inbox, "UNFLAGGED", SE_UID);
Upvotes: 1