Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: channel gmail-sent: slave sent cannot be opened

I'm able to sync my Gmail inbox, but the sent folder does not work.

This is my .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"

This is the error I get:

$ 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

Any idea why this fails? I've created the ~/.mail/martinstabenfeldt/sent folder. And this folder is empty.

like image 780
martins Avatar asked Mar 01 '16 08:03

martins


2 Answers

Not the OP's case, but you can get this exact error message if you forgot the trailing slash in the Path configuration variable for the MaildirStore.

The man page does say the trailing slash is needed, but that's easy to overlook.

like image 50
phkb Avatar answered Nov 03 '22 14:11

phkb


Try Using [Google Mail] instead of [Gmail]. It should work. I believe there is Starred, Spam, Sent Mail, Important, Drafts, Bin and All Mail that will work with [Google Mail]/.

Here is my config file:

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

If you still have issues you could try the following config:

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

Once you have this run the following command: mbsync -Dmn gmail

You should see some output:

* 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)

From here you can see what your respective remote folder names should be.

like image 31
Badger Avatar answered Nov 03 '22 14:11

Badger