IMAP帐户切换后邮箱目录未更改

时间:2014-03-01 21:06:06

标签: mutt

在我的配置中,我有两个在线IMAP帐户,比如AB。 我的简化配置文件如下所示:

## 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>'

两个帐户的配置文件类似,如下所示:

set imap_user = usera
set imap_pass = userasecret
unset folder
set folder    = "imaps://mail.a.com/"
set spoolfile = "+INBOX"
mailboxes "+INBOX"

set imap_user = userb
set imap_pass = userbsecret
unset folder
set folder    = "imaps://mail.b.com/"
set spoolfile = "+INBOX"
mailboxes "+INBOX"

我可以使用F2 nad F3键在帐户之间切换,但问题是当我尝试更改邮箱时。在开始时(即,在使用F-key之前),按c?会为我提供可用的IMAP文件夹列表。但是,当我切换到第二个帐户 - 按F3 - 然后尝试列出IMAP文件夹时出错。 Mutt尝试从第一台服务器获取文件夹:imaps://mail.a.com并因为凭据错误而失败(因为imap_user已设置为userb)。我必须等待一段时间,然后再次按c并将目录名称更改为当前folder变量值。完成此操作后,我可以再次列出文件夹。直到下一次转换...

为什么mutt在更改文件夹后会粘贴旧目录路径,如何更改此行为?

1 个答案:

答案 0 :(得分:3)

我不知道你是否还在乎,但我找到了这个解决方案:

  

使用上述快捷方式(或侧边栏),您会发现更改文件夹(默认情况下为c)不是上下文,即它不会列出当前邮箱的文件夹,而是上次使用的文件夹更改文件夹。为了使行为更具上下文性,诀窍是按=或+表示当前邮箱。您可以使用以下宏自动执行此操作:

macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'

请访问网站:https://wiki.archlinux.org/index.php/Mutt