我喜欢 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-hooks
Mutt 维基以另一种方式进行设置。
我将发布设置的各个元素,然后发布我的全部内容,.muttrc
以便您了解它们是如何组合在一起的。
最简单的方法是将两个帐户的设置分别输入到不同的文件中,然后将其保存在~/.mutt
文件夹中。例如,您的两个帐户可以称为account.gmail1
和account.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