如何使用Mutt管理多个imap帐户


11

我喜欢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安装的外部程序。

Answers:


14

即使有一些有用的指导在本网站这一次,我想我只是告诉你我目前工作的解决方案。您可能会注意到,它与上述指南相似,但有一些附加和不同之处:我发现有可能不使用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 <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 Wiki 上此站点上的好文章,以获取进一步的设置方法,例如用于将设置与各种邮箱相关联的方法,这也将在此处进行说明muttfolder-hooks


WOWOW,令人惊叹!非常感谢伙计,我完全〜/ .mutt的/ muttrc中的conf:paste.ubuntu.com/1487277
哈维尔·洛佩斯

“您要查找的粘贴当前不存在。”,也许pastebin并不是长期存储内容的最佳位置。我可以建议要点吗?
Intents

您说对了,@ intentss,现在也可以在以下位置获得我的配置:github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc,因为user76204回答说它工作得很好,所以我将gpg集成到了解决方案中,不过
哈维尔·洛佩斯

2

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

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

0

这里(GitHub)还有一个很好的writeup / howto 。可能更容易理解,或者更容易理解。

目录和文件

〜/
|──.mutt /
| ├──account.com.gmail.foo
| ├──account.com.gmail.bar
| ├──com.gmail.foo/
| └──com.gmail.bar/
mut──.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 =“ foo@gmail.com”                       
设置imap_pass =“”                                    
设置smtp_url =“ smtp://foo@smtp.gmail.com:587 /”       
设置smtp_pass =“”                                    
设置为=“ foo@gmail.com”                            
设置实名=“ Foo”                                  
设置文件夹=“ imaps://imap.gmail.com:993”                     
设置假脱机文件=“ + INBOX”                                      
设置推迟=“ + [Gmail] /草稿”                             
设置header_cache =〜/ .mutt / com.gmail.foo / cache / headers            
设置message_cachedir =〜/ .mutt / com.gmail.foo / cache / bodies         
设置certificate_file =〜/ .mutt / com.gmail.foo / certificates
~/.mutt/account.com.gmail.bar  
设置imap_user =“ bar@gmail.com”                       
设置imap_pass =“”                                    
设置smtp_url =“ smtp://bar@smtp.gmail.com:587 /”       
设置smtp_pass =“”                                    
设置为=“ bar@gmail.com”                            
设置实名=“酒吧”                                  
设置文件夹=“ imaps://imap.gmail.com:993”                     
设置假脱机文件=“ + INBOX”                                      
设置推迟=“ + [Gmail] /草稿”                             
设置header_cache =〜/ .mutt / com.gmail.bar / cache / headers            
设置message_cachedir =〜/ .mutt / com.gmail.bar / cache / bodies         
设置certificate_file =〜/ .mutt / com.gmail.bar / certificates
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.