Вопрос или проблема
Я переключился с offlineimap на mbsync, но у меня возникла проблема с синхронизацией некоторых директорий из Gmail. В частности, все директории [Gmail]/FolderName, похоже, игнорируются mbsync (когда я запускаю mbsync -l, он не перечисляет ни одну из них).
У меня есть настройка, как эта [отредактировано для показа полной настройки]:
Create Slave
# Детали учетной записи, необходимые для входа на удаленный сервер:
IMAPAccount GMAIL
Host imap.gmail.com
User [email protected]
Pass pass
UseIMAPS yes
# Сертификат органа, который подтвердил SSL сертификат вашего провайдера электронной почты:
CertificateFile /etc/ssl/certs/ca-certificates.crt
# Удаленное хранилище:
IMAPStore GMAIL-remote
Account GMAIL
# Локальное хранилище:
MaildirStore GMAIL-local
Path ~/Maildir/GMAIL/
Inbox ~/Maildir/GMAIL/INBOX
Trash ~/Maildir/GMAIL/[Gmail].Bin
# Канал, соединяющий два хранилища, описывающий способ синхронизации:
Channel GMAIL
Master :GMAIL-remote:
Slave :GMAIL-local:
Patterns "[Gmail]/Sent Mail" "[Gmail]/Drafts" "[Gmail]/Bin" "[Gmail]/Spam" INBOX ARCHIVED
Create Slave
Expunge Both
SyncState *
Что, по-видимому, соответствует примерам, которые я видел в сети.
Изменилось ли что-то в mbsync или Gmail, из-за чего mbsync игнорирует [Gmail]/Folders?
Проект называется isync. Согласно ArchLinux Wiki, существуют проблемы с mbsync и GMail. Есть сообщение, предлагающее использовать isync-git вместо.
отрывок
isync можно установить из AUR. Были сообщены некоторые проблемы при использовании GMail с версией 1.0.6. В этом случае вы можете попробовать isync-git.
Я также нашел эту тему, кажется, она несколько устарела (2008 год), поэтому всё может быть по-другому. Тема под названием: Re: Subfolders and Hierarchies. Согласно данной теме, [mbsync] не поддерживает GMail и вложенные папки.
Я очень заинтересован в использовании mbsync и mswatch. В настоящее время я использую ~/Maildir, который является INBOX и также содержит ~/Maildir/.foo.bar в виде maildir. Я читал, что у mbsync есть проблемы с иерархиями, и видел комментарии с рекомендацией прочитать архивы списков, но пока что я не могу в этом разобраться. 🙂 Я готов изменить свои привычки использования, просто не уверен, что сделать для синхронизации maildir ~/Maildir/.foo.bar. Может ли кто-нибудь помочь прояснить это?
то, что вы хотите, не поддерживается.
возможно, вы можете попробовать указать каждый ящик отдельно, как на клиенте, так и на сервере, и связывать их один на канал, а затем поместить их в группу.
Эта тема также касается проблем с вложенными папками, с которыми вы сталкиваетесь, под заголовком: offlineimap или mbsync?.
Компиляция isync
Автор попытался установить/скомпилировать это на системе на базе Ubuntu. Для компиляции вам нужно будет установить Berkley Data Base (BDB 4.2+). Необходимо установить заголовки библиотек для этого пакета, и он должен быть версии не ниже 4.2.
$ sudo apt-get install libdb5.3++-dev libdb5.3-dev
.
Ответ или решение
Если вы опытный специалист в области IT и столкнулись с проблемами, связанными с использованием mbsync для синхронизации директорий Gmail, включая подкаталоги [Gmail]/FolderName, важно рассматривать множество факторов, которые могут влиять на работу данной программы. Данный ответ предоставляет подробное объяснение возможных причин проблемы и потенциальные решения.
Теория (T): Основы и проблемы mbsync с Gmail
Mbsync, также известный как isync, — это утилита для синхронизации электронной почты, которая часто используется для работы с почтовыми серверами IMAP. Однако некоторые пользователи, переходящие с offlineimap на mbsync, сталкиваются с проблемами, когда mbsync не синхронизирует специфические каталоги, например [Gmail]/FolderName. Такая проблема может быть связана с несколькими аспектами: несовместимостью версии mbsync с Gmail, некорректным вызовом каналов (channels) синхронизации или использованием неверных шаблонов (patterns) для указания директорий.
Версии и совместимость
Совместимость mbsync с Gmail может варьироваться в зависимости от версии программного обеспечения. Согласно информации из ArchLinux Wiki, некоторые версии, такие как 1.0.6, имеют проблемы с Gmail. В таких случаях рекомендуется использовать актуальные версии, например, isync-git, доступные в AUR (Arch User Repository), которые могут содержать исправления и улучшения функционала синхронизации с Gmail.
Пример (E): Настройка и описание конфигурации
Рассмотрим данную конфигурацию:
Create Slave
# Учетные данные для подключения к удаленному серверу:
IMAPAccount GMAIL
Host imap.gmail.com
User [email protected]
Pass pass
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt
# Удаленное хранилище:
IMAPStore GMAIL-remote
Account GMAIL
# Локальное хранилище:
MaildirStore GMAIL-local
Path ~/Maildir/GMAIL/
Inbox ~/Maildir/GMAIL/INBOX
Trash ~/Maildir/GMAIL/[Gmail].Bin
# Канал, соединяющий два хранилища и описывающий метод их синхронизации:
Channel GMAIL
Master :GMAIL-remote:
Slave :GMAIL-local:
Patterns "[Gmail]/Sent Mail" "[Gmail]/Drafts" "[Gmail]/Bin" "[Gmail]/Spam" INBOX ARCHIVED
Create Slave
Expunge Both
SyncState *
Описание:
- IMAPAccount GMAIL: Задает учетные данные для входа в учетную запись Gmail.
- CertificateFile: Указывает файл сертификата, используемый для проверки связи по SSL.
- IMAPStore и MaildirStore: Устанавливают удаленные и локальные хранилища, соответственно.
- Channel GMAIL: Определяет конфигурацию канала для синхронизации, включая указание шаблонов (Patterns) директорий для синхронизации.
Применение (A): Рекомендации и исправления
-
Проверьте версии mbsync: Убедитесь, что вы используете актуальную версию mbsync или isync-git из AUR, которая может содержать исправления для работы с Gmail.
-
Шаблоны папок (Patterns): Убедитесь, что все целевые папки в шаблоне указаны правильно. Например, учитывайте, что в некоторых конфигурациях папки могут не показываться, если символы, такие как слэши (/), не интерпретируются должным образом. Попробуйте изменить шаблон на:
Patterns "INBOX" "Sent Mail" "Drafts" "Bin" "Spam"
-
Отдельные каналы для каждой папки: Если существует проблема с поддиректориями, попробуйте создать отдельные каналы для каждой папки, чтобы минимизировать сложность конфигурации.
-
Использование флага логирования (
-l
): При запуске командыmbsync -l
вы не видите директории [Gmail]/FolderName. Попробуйте изменить уровень детализации логирования для получения более подробной информации о том, что именно происходит во время синхронизации. -
Обновление сертификатов: Убедитесь, что у вас актуальные сертификаты, указанные в
CertificateFile
. Иногда проблемы могут возникать из-за устаревших сертификатов или неверных путей к ним. -
Тестирование на другом устройстве: Если проблема сохраняется, попробуйте протестировать ту же конфигурацию на другой машине или с использованием новой учетной записи Gmail, чтобы проверить, не связана ли проблема с конкретной установкой или учетной записью.
Заключение: использование mbsync для синхронизации Gmail может вызывать определенные сложности, особенно в каждом индивидуальном случае настроек или версий. Однако следуя вышеуказанным рекомендациям и используя актуальные и правильные конфигурации, можно значительно повысить вероятность успешной синхронизации директорий Gmail.