Назад | Перейти на главную страницу

Dovecot. КАК заставить POP3 и IMAP обрабатывать статус прочитанного / непрочитанного независимо друг от друга

У меня голубятня сервер (maildir). Некоторые клиенты проверяют свою почту через настольный клиент (POP3) и со своих смартфонов (IMAP). Проблема в том, что когда сообщение загружается через POP3 и перемещается из новой в папку cur, клиент IMAP не уведомляет о получении сообщения (оно принимается без уведомления и уже помечено как прочитанное). Я знаю, что POP3 не заботится о флагах чтения / непрочитания, он просто перемещает сообщение в папку cur по мере его загрузки, но почему IMAP показывает сообщение как прочитанное? Здесь цель состоит в том, чтобы POP3 и IMAP обрабатывали статус прочитанного / непрочитанного отдельно. Есть ли способ сделать это?

Опция оставлять сообщения отмечена, каждое сообщение принимается как через POP3, так и через IMAP, но после получения почты из POP3 в IMAP оно отображается как прочитанное. В dovecot установлено pop3_no_flag_updates = no. Если я выберу «да», проблема будет решена, но вся почта останется в «новой» папке. Он не перемещается в cur.

Вы говорите, что если вы установите pop3_no_flag_updates=yes что почта остается в папке / new, я считаю, что это сделано намеренно.

Одна из причин заключается в том, что в исходной спецификации maildir указано, что сообщения в новой папке не могут иметь флагов. Поэтому, если он не устанавливает флаг, у него нет причин перемещать его в / cur (если он не выполняет часть работы, я подозреваю, что он не будет делать ничего из этого) .. Например, (от курьера Maildir страница):

Приложения, которые читают почту от maildirs, должны делать это в следующем порядке:

При открытии папки maildir или maildir прочтите подкаталог tmp и удалите в нем все файлы, возраст которых не менее 36 часов.

Ищите новые сообщения в новом подкаталоге. Переименуйте new / filename в cur / filename: 2, info. Здесь информация представляет состояние сообщения и состоит из нуля или более логических флагов, выбранных из следующего: «D» - это «черновик» сообщения, «R» - на это сообщение был дан ответ, «S» - это сообщение было просмотрено (просмотрено), «T» - это сообщение было помечено для удаления (корзина), но еще не удалено (сообщения удаляются из maildirs простым удалением их файла), «F» - это сообщение был отмечен пользователем для какой-то цели. Эти флаги должны храниться в алфавитном порядке. Новые сообщения содержат только суффикс: 2 без флагов, указывающий на то, что сообщения не были просмотрены, на них не было ответа, они не были отмечены или удалены.

Почему он все равно не может переместить его в cur ... Я не знаю, но подозреваю, что это может иметь какое-то отношение к RFC, вы можете спросить Тимо

Да, с POP3 убедитесь, что вы отметили опцию оставлять сообщения на сервере. Потому что, когда pop3 проверяет сообщения, он технически читает сообщения.