我可以同步我的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 文件夹。这个文件夹是空的。
答案 0 :(得分:3)
尝试使用[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)
从这里,您可以看到各自的远程文件夹名称。
答案 1 :(得分:0)
我很确定这是由你的报价引起的;而不是:
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
答案 2 :(得分:0)
不是OP的情况,但是如果您忘记了Path
的{{1}}配置变量中的斜杠,则会得到此确切的错误消息。
手册页中确实说需要在末尾加斜杠,但这很容易忽略。