有很多关于这个主题的文章,没有一篇对我有用。.muttrc 具有以下与多个帐户相关的内容(仅使用 IMAP + 当然是 SMTP):
source "~/.mutt/account1"
folder-hook $folder 'source ~/.mutt/account1'
source "~/.mutt/account2"
folder-hook $folder 'source ~/.mutt/account2'
macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/account1<enter><change-folder>!<enter>'
macro index <f3> '<sync-mailbox><enter-command>source ~/.mutt/account2<enter><change-folder>!<enter>'
# Mailboxes
bind index G imap-fetch-mail
macro index gi "<change-folder>=INBOX<enter>" "Go to Inbox"
macro index gs "<change-folder>=$my_sent<enter>" "Go to Sent"
macro index gd "<change-folder>=$my_drafts<enter>" "Go to Drafts"
macro index gt "<change-folder>=$my_trash<enter>" "Go to Trash"
帐户文件如下(例如,对于 account1,另一个相同,但文件夹的名称使用不同的语言):
set my_drafts = "Drafts"
set my_drafts_noquote = "Drafts"
set my_sent = "Sent<quote-char><space>Items"
set my_sent_noquote = "Sent Items"
set my_trash = "Deleted<quote-char><space>Items"
set my_trash_noquote = "Deleted Items"
set imap_user = "username"
set folder = "imaps://outlook.office365.com:993/"
set imap_authenticators = "login"
set mbox = "+INBOX"
set spoolfile = "+INBOX"
set record = +$my_sent_noquote
set postponed = +$my_drafts_noquote
set trash = +$my_trash_noquote
set smtp_url = "smtp://[email protected]:587"
set smtp_authenticators = "login"
set copy = "yes"
account-hook $folder "set imap_user=username"
所以在开始 mutt 之后,我最终进入了收件箱account2
。如果我按gs
,gd
或者gt
所有这些都将我带到我想去的地方(已发送文件夹、草稿或垃圾箱)。然后我切换到 account on byF2
并正确进入 INBOX 文件夹,但是,gs
不再起作用(注意 account1 和 account2 对垃圾箱、草稿和已发送使用不同的名称)。(它显示的是“已发送项目”不存在,但“已发送项目”一词是用 account2 的语言编写的,但字符格式不正确)。gt
gd
我需要如何更正配置?
我终于找到了解决方案,所以如果有人遇到同样的问题,答案是添加到 account1 和 account2 文件映射的 sortcuts,即 from
muttrc
,行还必须位于来源 accout1 和 account2 文件的末尾。似乎
mutt
在第一次读取配置时填充变量的值,而不是保留变量并在每次使用实际变量值运行快捷方式时评估快捷方式的表达式。