Я пытаюсь пометить сообщение с флагом imap «\ flagged». Проблема в том, что помечается не только сообщение, которое я намеревался отметить, но и все другие сообщения, отправленные с того же адреса электронной почты.
Например, в моем почтовом ящике у меня есть 10 сообщений от [email protected]. Я хочу пометить только один из них как помеченный, поэтому я получаю его uid и отправляю запрос. Но он отмечает все 10 сообщений. Я хочу только тот с определенным идентификатором.
Я работаю с учетной записью Gmail. При пометке сообщений в самой веб-почте gmail оно помечает только одно сообщение, как и предполагалось, так что это не странная особенность самого gmail.
Код, который я использую ниже. В чем проблема?
$uids = new Horde_Imap_Client_Ids([1521]);//uid of message I want to mark as flagged
$options = [
'uids' => $uids,
'add' => ['\flagged'],
];
$Imap_Client_Socket->store('INBOX', $options);
Измените ваши параметры на это
$options = [
'ids' => $uids,
'add' => [Horde_Imap_Client::FLAG_FLAGGED],
];
Обратите внимание, как uids
изменился на ids
, Кроме того, я использовал константу флага, определенную в Horde_Imap_Client
вместо.
Других решений пока нет …