mutt——多账户支持

mutt——多账户支持

有人可以帮我配置 mutt 吗?

我需要配置 mutt 以同时支持多个帐户。

目前我的个人电子邮件配置文件如下所示:

~ $ cat ~/.mutt/personal

set imap_user = «%personal_email%@gmail.com»
set imap_pass = «%personal_email_pass%»
set smtp_url = «smtps://%personal_email%@smtp.gmail.com:465/»
set smtp_pass = «%personal_email_pass%»
set from = «%personal_email%»
set realname = «%username%»
set hostname = gmail.com
set folder = «imaps://%personal_email%@imap.gmail.com:993»
set spoolfile = «imaps://%personal_email%@imap.gmail.com/INBOX»
set postponed = «imaps://%personal_email%@imap.gmail.com/[Gmail]/Drafts»
set record = «imaps://%personal_email%@imap.gmail.com/[Gmail]/Sent Mail»

当然,“~/.mutt/work”看起来是一样的,除了“%personal_email%”和“%personal_email_pass%”的值。

“~/.muttrc”看起来像这样:

~ $ cat ~/.muttrc

source «~/.mutt/personal»

macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/personal<enter><change-folder>!<enter>'
macro index <f3> '<sync-mailbox><enter-command>source ~/.mutt/work<enter><change-folder>!<enter>'

当我按 F2 或 F3 时,mutt 确实会更改帐户,但是当我尝试更改邮箱(通过“c”->“?”)时,它会打开第一个帐户的邮箱(在我的情况下为“个人”),即使当前帐户是“工作”。

为什么?我究竟做错了什么?我该如何修复它?

答案1

一些带有钩子的技巧。您可能需要三思而后行地将密码存储到.muttrc.当你做这样不安全的事情时,至少要注意使用应用程序特定的密码,而不是你的主要 Google 帐户密码。

# Gmail account passwords and usernames
set my_gmail_user1 = "<account 1, without @gmail or anything>"
set my_gmail_user2 = "<account 2, without @gmail or anything>"
set my_gmail_pass1 = "<password, hopefully an app-specific one>"  
set my_gmail_pass2 = "<password, hopefully an app-specific one>"  

# Account hooks
account-hook . "unset imap_user ; unset imap_pass"
account-hook "imaps://[email protected]" "\
    set imap_user = $my_gmail_user1 \
            imap_pass = $my_gmail_pass1"
account-hook "imaps://[email protected]" "\
    set imap_user = $my_gmail_user2 \
            imap_pass = $my_gmail_pass2"

# Gmail folders
set folder          = imaps://[email protected]/
mailboxes           = +INBOX =[Gmail]/Drafts =[Gmail]/'Sent Mail' =[Gmail]/Spam =[Gmail]/Trash
set spoolfile       = +INBOX
folder-hook         imaps://[email protected]/ "\
    set folder      = imaps://[email protected]/ \
        spoolfile   = +INBOX \
        postponed   = +[Gmail]/Drafts \
        record      = +[Gmail]/'Sent Mail' \
        from        = 'First User Real Name <[email protected]> ' \
        realname    = 'First User Real Name' \
        smtp_url    = smtps://[email protected] \
        smtp_pass   = $my_gmail_pass1"
set folder          = imaps://[email protected]/
mailboxes           = +INBOX =[Gmail]/Drafts =[Gmail]/'Sent Mail' =[Gmail]/Spam =[Gmail]/Trash
set spoolfile       = +INBOX
folder-hook         imaps://[email protected]/ "\
    set folder      = imaps://[email protected]/ \
        spoolfile   = +INBOX \
        postponed   = +[Gmail]/Drafts \
        record      = +[Gmail]/'Sent Mail' \
        from        = 'First User Real Name <[email protected]> ' \
        realname    = 'First User Real Name' \
        smtp_url    = smtps://[email protected] \
        smtp_pass   = $my_gmail_pass2"

现在剩下的就是启动 mutt,然后点击y并选择您想要的帐户的文件夹。

如果您想要更安全的设置,您最喜欢的搜索引擎可以告诉您如何使用 PGP 保护 Mutt 的 IMAP/POP 密码。 Realname/from 留给读者作为练习。

答案2

我以类似的方式使用 mutt,并且还注意到,当仅输入 时,mutt 不会立即打开属于当前活动帐户(不是第一个帐户)的邮箱c

但是,您可以c然后输入=TAB 三次您将看到当前活动帐户的邮箱。再次点击TAB甚至可以让您在不同帐户的邮箱之间切换。

到目前为止,AFAICT,在 mutt 中还没有解决您的问题“为什么 mutt - 在打字时c- 提供打开属于第一个帐户的邮箱,而不管另一个/第二个帐户是否处于活动状态。”。

我最好的猜测是,这要么是一个故意的设计选择,要么是一个尚未有人愿意修复的错误。使用 [neo]mutt 的侧边栏也可能会减轻用户体验。

相关内容