如何使用 mutt 管理多个 imap 账户

如何使用 mutt 管理多个 imap 账户

我喜欢 mutt,Ubuntu 附带的 mutt 版本非常棒(它甚至有一个修补版本),到目前为止我发现的唯一缺点是我无法同时管理多个 imap 帐户。

目前我的 mutt 设置如下:

#$HOME/.mutt/muttrc
=== Accounts  ====

set my_decrypt=`gpg -o $HOME/.mutt/accounts/passwd.gpg.tmp -d $HOME/.mutt/accounts/passwd.gpg`

set my_first_mail_passwd=`awk '/[email protected]:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_second_mail_passwd=`awk '/[email protected]:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_rm=`rm -f $HOME/.mutt/accounts/passwd.gpg.tmp`

source $HOME/.mutt/accounts/[email protected]/[email protected]

//source $HOME/.mutt/accounts/[email protected]/[email protected]

这意味着 password.gpg 文件被动态解密(我的电子邮件密码存放在其中),使用它来设置一些变量并删除,同时获取一个默认配置文件,它看起来像这样:

#$HOME/.mutt/accounts/[email protected]/[email protected]
set folder           = "imaps://imap.foo.com"

set spoolfile        = "imaps://imap.foo.com/INBOX"

set header_cache     = "$HOME/.mutt/cache/[email protected]"

set message_cachedir = "$HOME/.mutt/cache/[email protected]"

set imap_user        = "[email protected]"

set imap_pass        = $my_first_mail_passwd

set smtp_url         = "smtp://[email protected]"

set smtp_pass        = $my_first_mail_passwd

使用这个,我只能使用默认配置文件中配置的帐户..,我听说可以使用文件夹挂钩,但我不知道如何使用它们,而且我也不确定这是否是我正在寻找的,我只想能够根据我想阅读的电子邮件来获取不同的配置文件..,欢迎任何建议方法..,我更喜欢不依赖于不属于默认 Ubuntu 安装的外部程序的设置。

答案1

尽管有一些有用的指南在这个网站上这个,我想我只是向你展示我目前正在使用的解决方案。你可能会注意到它与前面提到的指南类似,但有一些补充和不同之处:我发现在某些情况下可以不使用account-hooks或。请参阅folder-hooksMutt 维基以另一种方式进行设置。

我将发布设置的各个元素,然后发布我的全部内容,.muttrc以便您了解它们是如何组合在一起的。

最简单的方法是将两个帐户的设置分别输入到不同的文件中,然后将其保存在~/.mutt文件夹中。例如,您的两个帐户可以称为account.gmail1account.gmail2。因此,请创建两个具有相同名称的文本文件,并按照以下模板输入内容;除了 部分之外,它们应该完全相同user@;只需在两个文件中将所有出现的 替换为您的真实电子邮件(例如mik123@)。

set imap_user = "[email protected]"
set imap_pass = ""
set from = "[email protected]"
set realname = "user"
set hostname = gmail.com
set folder = "imaps://[email protected]:993"
set spoolfile = "imaps://[email protected]/INBOX"
set postponed = "imaps://[email protected]/[Gmail]/Drafts"
set record = "imaps://[email protected]/[Gmail]/Sent Mail"
set smtp_url = "smtp://[email protected]:587"
set smtp_pass = ""
  • 请注意,我将密码留空(""),这意味着系统将提示您输入密码,这也是我喜欢的方式,但如果您不想一直输入密码,您可以集成您自己的解决方案。

  • 如果您希望在启动时加载默认帐户,您可以在您的文件中使用.muttrc类似的代码行,只需指定您自己的配置文件即可。

    source "~/.mutt/account.gmail1"

  • 要在帐户之间实际切换,请在您的帐户配置中放置一个快捷方式,.muttrc指向您的帐户配置的实际位置和名称:

    macro index <f4> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail1<enter><change-folder>!<enter>'
    macro index <f5> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail2<enter><change-folder>!<enter>'

  • 您可以使用寻呼机命令在两个帐户中的文件夹之间切换,例如

    macro index,pager ga "<change-folder>=[Gmail]/All Mail<enter>" "Go to all mail"

在您的中定义的.muttrc;这些仍然适用于每个帐户(请参阅我的附件.muttrc)。

  • 我测试了这些特定设置以及其他常规设置我的.muttrc,因此您可以使用该文件和/或将其与您自己的文件进行整理,这取决于您。

现在只需加载mutt终端,您就应该能够加载一个帐户,然后使用快捷方式切换到另一个帐户。我的.muttrc粘贴在这里如果您需要一个配置的工作示例。

看到好文章在这个网站上关于 Mutt 和Mutt 维基进一步设置的方法,mutt例如使用folder-hooks将设置与各种邮箱关联,这也是这里解释

答案2

您可以使用多个配置文件。例如,您可以运行:

  • mutt -F .muttrc-yahoo/dev/pts/1
  • mutt -F .muttrc-gmail/dev/pts/2

答案3

还有一篇很好的文章/指南这里(GitHub)。可能更容易理解,也可能不。

目录和文件

~/
|── .mutt/
| ── account.com.gmail.foo
| │ │ 账户.com.gmail.bar
| │ │ com.gmail.foo/
| └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# 文件夹钩子
文件夹钩子'account.com.gmail.foo''源~/.mutt/account.com.gmail.foo'
文件夹钩子'account.com.gmail.bar''源~/.mutt/account.com.gmail.bar'

# 默认账户
源 ~/.mutt/account.com.gmail.foo         

# 切换账户的宏
宏索引‘源 ~/.mutt/account.com.gmail.foo!’
宏索引‘源~/.mutt/account.com.gmail.bar!’

# 获取邮件快捷方式
绑定索引 G imap-fetch-mail
~/.mutt/account.com.gmail.foo
设置 imap_user = "[电子邮件保护]
设置 imap_pass =“”                                    
设置 smtp_url = "smtp://[电子邮件保护]:587/”       
设置 smtp_pass = ""                                    
设置来自 = "[电子邮件保护]
设置真实姓名 = “Foo”                                  
设置文件夹 = “imaps://imap.gmail.com:993”                     
设置 spoolfile = “+INBOX”                                      
设置推迟 = “+[Gmail]/草稿”                             
设置 header_cache = ~/.mutt/com.gmail.foo/cache/headers            
设置 message_cachedir = ~/.mutt/com.gmail.foo/cache/bodies         
设置证书文件 = ~/.mutt/com.gmail.foo/certificates
~/.mutt/account.com.gmail.bar  
设置 imap_user = "[电子邮件保护]
设置 imap_pass =“”                                    
设置 smtp_url = "smtp://[电子邮件保护]:587/”       
设置 smtp_pass = ""                                    
设置来自 = "[电子邮件保护]
设置真实名称 = “Bar”                                  
设置文件夹 = “imaps://imap.gmail.com:993”                     
设置 spoolfile = “+INBOX”                                      
设置推迟 = “+[Gmail]/草稿”                             
设置 header_cache = ~/.mutt/com.gmail.bar/cache/headers            
设置 message_cachedir = ~/.mutt/com.gmail.bar/cache/bodies         
设置证书文件 = ~/.mutt/com.gmail.bar/certificates

相关内容