
Это немного странно, и я был бы признателен за любой совет. Если это лучше для ServerFault, дайте мне знать.
Я не думаю, что это относится к AskDifferent или подобному. Хотя я говорю о поведении, которое я наблюдаю на своих устройствах iOS относительно почты, я считаю, что это проблема на стороне сервера по двум основным причинам:
- Поведение началось только после обновления сервера.
- Поведение наблюдается только в учетных записях этого сервера, второй почтовый сервер, который я настроил таким же образом, не имеет этой проблемы на тех же устройствах iOS.
Проблема
Около месяца назад я обновил свой почтовый сервер с Debian 11 до 12. Все прошло без сучка и задоринки, никаких ошибок в системном журнале, можно отправлять и получать электронные письма с помощью моего обычного клиентского программного обеспечения, так что все хорошо.
В течение следующих дней я обнаружил, что не могу перемещать письма в подпапки на моем iPhone или iPad. Я могу выбрать письмо(я), которое хочу переместить, затем выбрать папку, в которую хочу их переместить, и они исчезнут из списка и немедленно вернутся. Это не влияет на удаление писем (например, отправку их в корзину) или перемещение писем между папками «Входящие» и «Спам».
Я также обнаружил, что если я перехожу в почтовую папку, то папки «верхнего уровня» работают нормально, но любые папки внутри них вызывают сообщение «Ошибка учетной записи», направляющее меня в настройки для проверки пароля учетной записи.
Inbox <–– Accessible
Financial <–– Accessible
Financial/Receipts <–– Inaccessible on iOS clients
Когда я выполняю любое из этих действий с моим файлом mail.log, который tail
'd, он выглядит просто нормально. Для просмотра папки: Соединение установлено для моего пользователя, затем выход из системы с пометкой "команды не отправлены". Для перемещения электронной почты: Соединение установлено для моего пользователя происходит дважды, и больше ничего.
Однако на моем Mac все это не проблема, я все еще могу просматривать эти папки, перемещать сообщения в них и из них, все, без проблем. Мой префикс IMAP одинаков на всех трех устройствах (пустой).
В Dovecot мой mailbox_location установлен как «maildir:~/Maildir:LAYOUT=fs».
Я надеюсь, что кто-то здесь уже сталкивался с чем-то подобным. Или может указать мне, где я могу получить больше информации от своего сервера или клиентов, которая может помочь мне найти причину.
Спасибо за прочтение!
Редактировать 1 (2 апреля):
Команда IMAP List
выводит все мои почтовые папки в том виде, в котором я их ожидаю увидеть, например:
2 list "" "*"
* LIST (\HasChildren) "/" Financial
* LIST (\HasChildren) "/" Financial/Receipts
* LIST (\HasNoChildren) "/" "Financial/Receipts/eBay Receipts"
* LIST (\HasNoChildren \Sent) "/" Sent
* LIST (\HasNoChildren \Drafts) "/" Drafts
* LIST (\HasNoChildren \Trash) "/" Trash
* LIST (\HasNoChildren \Junk) "/" Junk
* LIST (\HasNoChildren) "/" INBOX
...
lsub
Мне это тоже не показалось чем-то необычным...
3 lsub "" "*"
* LSUB (\Junk) "/" Junk
* LSUB (\Trash) "/" Trash
* LSUB (\Drafts) "/" Drafts
* LSUB (\Sent) "/" Sent
* LSUB () "/" Financial
* LSUB () "/" Financial/Receipts
* LSUB () "/" "Financial/Receipts/eBay Receipts"
...
Извините, я забыл упомянуть, у меня установлен разделитель «/», что namespace
подтверждает:
4 namespace
* NAMESPACE (("" "/")) NIL NIL
Редактировать 2 (3 апреля):
Я также обнаружил, что мой второй почтовый сервер, который я обновил таким же образом в то же время, не имеет этой проблемы ни на одном из моих устройств. Я сброшу файлы конфигурации сегодня вечером с обоих серверов для сравнения и, надеюсь, это объяснит поведение
Редактировать 3 (3 апреля):
Новый поворот. Я установил профили ведения журнала Developer "Mail" и "Sync" на свой телефон, чтобы посмотреть, какие команды и ответы IMAP происходят в Mail на моем iPhone, и обнаружил, что телефон пытается ВЫБРАТЬ папки без разделителей (например, 15 SELECT "FinancialReceipts"
вместо 15 SELECT "Financial/Receipts"
). Однако странно, что все остальные команды использовали разделитель (например, STATUS
).
Я добавилrawlogconfig в файл Dovecot 10-master.conf и запустил его, doveadm reload
чтобы включить ведение журнала сеанса IMAP для моей учетной записи.
Первая пара файлов .in и .out теперь показывала команды SELECT, отправленные с правильным разделителем. Я тестировал просмотр нескольких папок на телефоне, и они отлично синхронизировались, и я также мог перемещать сообщения в подпапки.
Я удалил конфигурацию rawlog и снова перезагрузил Dovecot. Поначалу перемещение сообщений и просмотр подпапок работали, но примерно через полчаса все снова остановилось.
Учитывая, что я уже перезапускал Dovecot, чтобы попытаться решить эту проблему, и это не помогло, я не думаю, что запуск doveadm reload
заставил все снова работать. Я думаю, что это связано с изменением состояния в Dovecot, когда я включил rawlogging...