如何在 mutt 中正确配置多个帐户

如何在 mutt 中正确配置多个帐户

关于这个主题有很多文章,但没有一篇对我有用。 .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。如果我按gsgd或者gt所有这些都可以让我到达我想去的地方(发送文件夹、草稿或垃圾箱)。然后我切换到 by 帐户F2并正确进入 INBOX 文件夹,但是gs, gt,gd不再工作(请注意,account1 和 account2 对垃圾箱、草稿和已发送使用不同的名称)。 (它显示的是“已发送的项目”不存在,但“已发送的项目”一词是用 account2 的语言编写的,但字符格式错误)。

我需要如何更正配置?

答案1

我终于找到了解决方案,所以如果有人遇到同样的问题,答案是添加到 account1 和 account2 文件映射以进行排序,即来自muttrc,行

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"

还必须位于来源 accout1 和 account2 文件的末尾。似乎是mutt在第一次读取配置时填充变量的值,而不是保留变量并在每次使用实际变量值运行快捷方式时评估快捷方式的表达式。

相关内容