我想使用 Wanderlust IMAP 客户端在 Emacs 中阅读我的电子邮件。
但是,当配置为与 Gmail 帐户一起使用时,它无法正确更新新邮件数量。Wanderlust 的通知 (ws-biff-*) 系统依赖于此 - 只有在有新邮件时我才会收到通知。
例如,在文件夹视图中:
...
%INBOX:0/217/49684
...
当我收到新消息时我应该收到以下内容:
...
%INBOX:1/218/49684
...
然而,我看到的是以下内容:
...
%INBOX:0/218/49684
...
Wanderlust 的所有其他功能都运行良好,我非常希望它能够正确处理通知。
我使用 el-get 安装了它。Emacs 版本是 24.2.1。Wanderlust 版本是 2.15.9 (Almost Unreal)。
~/.emacs.d/init.el 的相关部分:
;; wanderlust
(autoload 'wl "wl" "Wanderlust" t)
(autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
(autoload 'wl-user-agent-compose "wl-draft" nil t)
〜/.wl:
;; IMAP
(setq elmo-imap4-default-server "imap.gmail.com")
(setq elmo-imap4-default-user "[email protected]")
(setq elmo-imap4-default-authenticate-type 'clear)
(setq elmo-imap4-default-port '993)
(setq elmo-imap4-default-stream-type 'ssl)
(setq elmo-imap4-set-seen-flag-explicitly t)
;; SMTP
(setq wl-smtp-connection-type 'starttls)
(setq wl-smtp-posting-port 587)
(setq wl-smtp-authenticate-type "plain")
(setq wl-smtp-posting-user "[email protected]")
(setq wl-smtp-posting-server "smtp.gmail.com")
(setq wl-local-domain "gmail.com")
(setq wl-icon-directory "~/.emacs.d/el-get/wanderlust/etc/icons")
(setq wl-default-folder "%inbox")
(setq wl-default-spec "%")
(setq wl-draft-folder "%[Gmail]/Drafts") ; Gmail IMAP
(setq wl-trash-folder "%[Gmail]/Trash")
(setq wl-folder-check-async t)
(setq elmo-imap4-use-modified-utf7 t)
(if (boundp 'mail-user-agent)
(setq mail-user-agent 'wl-user-agent))
(if (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'wl-user-agent
'wl-user-agent-compose
'wl-draft-send
'wl-draft-kill
'mail-send-hook))
(require 'tls)
(setq elmo-network-stream-type-alist '(("!" . (ssl ssl open-tls-stream))))
;; ignore all fields
(setq wl-message-ignored-field-list '("^.*:"))
;; ..but these five
(setq wl-message-visible-field-list
'("^To:"
"^Cc:"
"^From:"
"^Subject:"
"^Date:"))
(setq wl-message-sort-field-list
'("^From:"
"^Subject:"
"^Date:"
"^To:"
"^Cc:"))
(setq wl-biff-check-folder-list '("%[Gmail]/Important" "%Workrelatedstuff"))
(setq wl-show-plug-status-on-modeline t)
(add-hook 'wl-biff-notify-hook
(lambda (message &optional header)
(message
(format "New mail: %s. %s"
header
(substring message 0 (min 30 (length message)))))))
~/.folders 只是:
%/
我应该如何配置它才能与 Gmail 正常配合使用?提前感谢大家的帮助!
答案1
由于 Google Mail 不支持\Recent
-Flag,Wanderlust 无法区分邮件是否是新的。其他邮件客户端可能会自行跟踪新邮件状态,而不依赖于 -flag \Recent
(这不太好,因为服务器端无法保存状态)。
答案2
可以通过 解决此问题wl-strict-diff-folders
。这将指定 Wanderlust 将使用速度较慢但更准确的方法来计算邮件数量的文件夹列表。例如:
;; Check these folders for new mail
(setq wl-biff-check-folder-list
'("%INBOX:\"[email protected]\"/[email protected]:993"
"%INBOX:\"[email protected]\"/[email protected]:993"))
;; Use strict diff so wl-biff works with Gmail and others
(setq wl-strict-diff-folders wl-biff-check-folder-list)
请注意,文件夹名称必须与~/.wl-folders
确切地否则更新文件夹视图中的计数将不起作用。