如何使用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 '/xxxxx@foo.com:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp` set my_second_mail_passwd=`awk '/yyyyy@bar.com:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp` set my_rm=`rm -f $HOME/.mutt/accounts/passwd.gpg.tmp` source $HOME/.mutt/accounts/xxxxx@foo.com/xxxxx@foo.com.profile //source $HOME/.mutt/accounts/yyyyy@bar.com/yyyyy@bar.com.profile 

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

 #$HOME/.mutt/accounts/xxxxx@foo.com/xxxxx@foo.com.profile set folder = "imaps://imap.foo.com" set spoolfile = "imaps://imap.foo.com/INBOX" set header_cache = "$HOME/.mutt/cache/xxxxx@foo.com.headers" set message_cachedir = "$HOME/.mutt/cache/xxxxx@foo.com.bodies" set imap_user = "xxxxx@foo.com" set imap_pass = $my_first_mail_passwd set smtp_url = "smtp://xxxxx@smtp.foo.com" set smtp_pass = $my_first_mail_passwd 

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

尽管本网站和本网站上有一些有用的指南,但我想我会向您展示我目前正在使用的解决方案。 您可能会注意到它与上述指南类似,但有添加和不同之处:我发现在某些情况下可能不使用account-hooksfolder-hooks 。 有关设置此内容的替代方法,请参阅Mutt wiki 。

我将发布设置的元素,然后发布我的整个.muttrc这样你就可以看到它们是如何组合在一起的。

最简单的方法是在单独的文件中输入两个帐户的设置,并将它们保存在~/.mutt文件夹中。 例如,您的两个帐户可以称为account.gmail1account.gmail2 。 因此,使用这些名称创建两个文本文件,并按照以下模板获取内容; 它们应该与user@部分相同; 只需用两个文件中的真实电子邮件(例如mik123@ )替换所有出现的内容。

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

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

    source "~/.mutt/account.gmail1"

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

    macro index 'source ~/.mutt/account.gmail1!'
    macro index 'source ~/.mutt/account.gmail2!'

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

    macro index,pager ga "=[Gmail]/All Mail" "Go to all mail"

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

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

现在只需在终端中加载mutt ,您就可以加载一个帐户,然后使用快捷方式切换到另一个帐户。 如果您需要配置的工作示例,我的.muttrc将粘贴在此处 。

有关设置mutt更多方法,请参阅Mutt和Mutt wiki 上本网站上的好文章,例如使用folder-hooks将setings与各种邮箱相关联,这也在此处进行了解释 。

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

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