Ошибка: канал gmail-sent: ведомый не может быть открыт

Я могу синхронизировать свою почту Gmail, но отправленная папка не работает.

Это мой .mbsyncrc

IMAPStore martinstabenfeldt-remote
    Account martinstabenfeldt

MaildirStore martinstabenfeldt-local
    Path ~/.mail/martinstabenfeldt/           
    INBOX ~/.mail/martinstabenfeldt/INBOX

Channel martinstabenfeldt
    Master :martinstabenfeldt-remote:
    Slave :martinstabenfeldt-local:
    Patterns *
    # Automatically create missing mailboxes, both locally and on the server
    Create Both
    # Save the synchronization state files in the relevant directory
    SyncState *

Channel martinstabenfeldt-inbox
    Master ":martinstabenfeldt-remote:INBOX"
    Slave  ":martinstabenfeldt-local:INBOX"

Channel martinstabenfeldt-sent
    Master ":martinstabenfeldt-remote:[Gmail]/Sent Mail"
    Slave  ":martinstabenfeldt-local:sent"

Это ошибка, которую я получаю:

$ mbsync --verbose  martinstabenfeldt-sent
Logging in...
Opening master box [Gmail]/Sent Mail...
Opening slave box sent...
Error: channel martinstabenfeldt-sent: slave sent cannot be opened.
C: 1/1  B: 1/1  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0

Есть идеи, почему это не удается? Я создал папку ~/.mail/martinstabenfeldt/sent. И эта папка пуста.

4 ответа

Не в случае OP, но вы можете получить это точное сообщение об ошибке, если забыли конечную косую черту в Path переменная конфигурации для MaildirStore.

На странице руководства действительно говорится, что необходима завершающая косая черта, но это легко упустить.

Попробуйте использовать [Google Mail] вместо [Gmail]. Он должен работать. Я считаю, что есть [Помеченные, Спам, Отправленные, Важные, Черновики, Корзина и Вся почта, которые будут работать с [Google Mail]/.

Вот мой конфигурационный файл:

IMAPAccount gmail
Host imap.gmail.com
User <your email address>
Pass <your password>
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore gmail-remote
Account gmail

MaildirStore gmail-local
Path ~/mail/gmail/
Inbox ~/mail/gmail/inbox

Channel gmail-default
Master :gmail-remote:
Slave  :gmail-local:
Patterns INBOX

Channel gmail-sent
Master ":gmail-remote:[Google Mail]/Sent Mail"
slave  :gmail-local:sent

Channel gmail-trash
Master :gmail-remote:"[Google Mail]/Bin"
slave  :gmail-local:trash

Channel gmail-archive
Master :gmail-remote:"[Google Mail]/All Mail"
slave  :gmail-local:all

Channel gmail-drafts
Master :gmail-remote:"[Google Mail]/Drafts"
Slave :gmail-local:drafts

# Automatically create missing mailboxes, both locally and on the server
Create slave # Only create locally for now
SyncState *

Group gmail
Channel gmail-default
Channel gmail-trash
Channel gmail-archive
Channel gmail-sent
Channel gmail-drafts

Если у вас все еще есть проблемы, вы можете попробовать следующую конфигурацию:

IMAPAccount gmail
Host imap.gmail.com
User <your email address>
Pass <your password>
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore gmail-remote
Account gmail

MaildirStore gmail-local
Path ~/mail/gmail/
Inbox ~/mail/gmail/inbox

Channel gmail-default
Master :gmail-remote:
Slave  :gmail-local:
Patterns "[Gmail]/Sent Mail"

# Automatically create missing mailboxes, both locally and on the server
Create slave # Only create locally for now
SyncState *

Group gmail
Channel gmail-default

После этого запустите следующую команду: mbsync -Dmn gmail

Вы должны увидеть некоторые результаты:

* NAMESPACE (("" "/")) NIL NIL
4 OK Success
>>> 5 LIST "" "*"
* LIST (\HasNoChildren) "/" "Deleted Items"
* LIST (\HasNoChildren) "/" "Drafts"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\HasNoChildren) "/" "Junk"
* LIST (\HasNoChildren) "/" "Notes"
* LIST (\HasNoChildren) "/" "Personal"
* LIST (\HasNoChildren) "/" "Receipts"
* LIST (\HasNoChildren) "/" "Sent"
* LIST (\HasNoChildren) "/" "Trash"
* LIST (\HasNoChildren) "/" "Unwanted"
* LIST (\HasNoChildren) "/" "Work"
* LIST (\HasChildren \Noselect) "/" "[Google Mail]"
* LIST (\All \HasNoChildren) "/" "[Google Mail]/All Mail"
* LIST (\HasNoChildren \Trash) "/" "[Google Mail]/Bin"
* LIST (\Drafts \HasNoChildren) "/" "[Google Mail]/Drafts"
* LIST (\HasNoChildren \Important) "/" "[Google Mail]/Important"
* LIST (\HasNoChildren \Sent) "/" "[Google Mail]/Sent Mail"
* LIST (\HasNoChildren \Junk) "/" "[Google Mail]/Spam"
* LIST (\Flagged \HasNoChildren) "/" "[Google Mail]/Starred"
5 OK Success
>>> 6 LOGOUT
* BYE LOGOUT Requested
6 OK 73 good day (Success)

Отсюда вы можете увидеть, какими должны быть ваши соответствующие имена удаленных папок.

Я уверен, что это вызвано вашими цитатами; вместо:

Channel martinstabenfeldt-sent
    Master ":martinstabenfeldt-remote:[Gmail]/Sent Mail"
    Slave  ":martinstabenfeldt-local:sent"

пытаться:

Channel martinstabenfeldt-sent
    Master :martinstabenfeldt-remote:"[Gmail]/Sent Mail"
    Slave  :martinstabenfeldt-local:sent

Пытаться:

      Channel gmail-sent
Far:gmail-remote:"[Gmail]/Sent Mail"
Near:gmail-locat:"Sent"
CopyArrivalDate yes
Create Both
Expunge Both
SyncState *

добавить канал в группу

      Group gmail
Channel <other_channels>
Channel gmail-sent
Другие вопросы по тегам