在我的配置中,我有两个在线 IMAP 帐户,例如A和B。我的简化配置文件如下所示:
## Account A settings
source ~/.mutt/a/config
folder-hook 'a.com' 'source ~/.mutt/a/config'
## Account B settings
folder-hook 'b.com' 'source ~/.mutt/b/config'
macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/a/config<enter><change-folder>!<enter>'
macro index <f3> '<sync-mailbox><enter-command>source ~/.mutt/b/config<enter><change-folder>!<enter>'
Run Code Online (Sandbox Code Playgroud)
两个帐户的配置文件相似,如下所示:
set imap_user = usera
set imap_pass = userasecret
unset folder
set folder = "imaps://mail.a.com/"
set spoolfile = "+INBOX"
mailboxes "+INBOX"
Run Code Online (Sandbox Code Playgroud)
和
set imap_user = userb
set imap_pass = userbsecret
unset folder
set folder = "imaps://mail.b.com/"
set spoolfile = "+INBOX"
mailboxes "+INBOX"
Run Code Online (Sandbox Code Playgroud)
我可以使用F2nadF3键在帐户之间切换,但问题是当我尝试更改邮箱时。在开始时(即在使用 之前F-key),按c?会显示可用 IMAP 文件夹的列表。但是,当我切换到第二个帐户(按F3-),然后尝试列出 IMAP 文件夹时,出现错误。Mutt 尝试从第一台服务器获取文件夹:imaps://mail.a.com由于凭据错误(imap_user已设置为 userb)而失败。我必须等待一段时间,然后c再次按下并将目录名称更改为当前folder变量值。执行此操作后,我可以再次列出文件夹。直到下一次切换...
为什么 mutt 在更改文件夹后仍坚持使用旧目录路径以及如何更改此行为?
我不知道你是否还关心,但我找到了这个解决方案:
使用上述快捷方式(或使用侧边栏),您会发现更改文件夹(默认情况下使用 c)与上下文无关,即它不会列出当前邮箱的文件夹,而是列出上次更改文件夹时使用的文件夹。为了使行为更加上下文相关,技巧是按当前邮箱的 = 或 +。您可以使用以下宏自动执行此操作:
macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'
Run Code Online (Sandbox Code Playgroud)
请参阅网站: https: //wiki.archlinux.org/index.php/Mutt