在 mutt 的单个视图中合并多个电子邮件帐户

Oct*_*our 10 email mutt

最近,我开始越来越喜欢 Unix 哲学。我尚未切换的工具之一是电子邮件。Mutt 似乎是阅读电子邮件的一个非常好的、轻量级和严肃的解决方案,因此我想试一试。

然而,我遇到了一个问题:我使用多个收件箱。有几个关于如何在多个收件箱中使用 mutt 的教程,但我能找到的只是一种在一个 mutt 实例中快速切换各种收件箱的方法。但是,我更喜欢将我所有帐户的电子邮件合并在一起,按日期排序,最好按帐户进行颜色编码。我知道有多个手机应用程序可以很好地处理这个用例(例如 Windows Phone 电子邮件应用程序),所以它应该是可能的。我更愿意以这种方式工作,所以我只有一个电子邮件列表要浏览,而不必在帐户之间来回切换。有谁知道在mutt中是否可以实现这种行为?

小智 5

这听起来像是notmuch 的完美用例。使用 notmuch 您可以在 mutt(kz 补丁,但我无法在项目站点上找到它)或本地使用neomutt 中使用虚拟邮箱。我会说neomutt 有更好的支持。

邮箱必须在本地同步。因此,您需要其他工具来同步电子邮件,例如offlineimapisync或类似工具。您可能希望为标记消息设置同步后挂钩(因为标记有利于查询)。我建议只进行同步,All mails而不要使用标签和查询来处理其他所有事情。

Notmuch 创建了一个 xapian 数据库。您使用很少的查询来定义您的邮箱。

要“分离”您的帐户,您可以绑定键 fe: F1- 个人F2- 工作,F3- 学校,F4- ... 以获取不同的配置文件。

配置不多:

[database]
path=/full/path/to/root/of/your/mailboxes
# so Your directory structure will look like this:
#/full/path/to/root/of/your/mailboxes/{personal,work,school}/{INBOX,trash,…}/{cur,new,tmp}/

[user]
name=Your Name
primary_email=primarymail@example.com
other_email=secondarymail@example.com;othermail@example.com;…

[new]
tags=notify
ignore=*.json;*.json.bak;.lock

[search]
exclude_tags=deleted;spam;trash #if You want to exclude some tags from query results

[maildir]
synchronize_flags=true

[query]
junk=tag:trash OR tag:spam OR tag:drafts OR from:@linkedin.com
lists=tag:Newsletters OR tag:Maillists
personal=NOT (tag:Work OR query:lists OR query:junk)
Run Code Online (Sandbox Code Playgroud)

我就是这么用的。~/.neomutt/neomuttrc.account-personal ~/.neomutt/neomuttrc.account-work ~/.neomutt/neomuttrc.account-commmon

在每个这些文件的我有每个帐户设置(signratures,PGP,S / MIME键或甚至颜色)+在每个帐户配置文件的末端有source ~/.neomutt/neomuttrc.account-commonstatus_format和其他共同的构成。

小回顾:

  1. offlineimap / isync / 其他工具- 用于电子邮件同步
  2. offlineimap post-sync hook - 在同步后标记消息
  3. notmuch - 用于标记和查询以及虚拟邮箱
  4. 用于切换帐户或更改每个帐户配置的mutt / neomutt绑定

PS:习惯了就很容易上手了。你需要改变你的心态。完全按照您的意愿配置所有内容需要一些时间。不要放弃,值得花时间:)