去年,我为您带来了 19 天的(对您而言)全新的 2019 年效率工具。今年,我将采取不同的方法:构建一个环境,让您在新的一年里更有效率,使用的工具可能是您已经在使用或尚未使用的工具。
用于联系人管理的开源工具
在本系列之前的文章中,我解释了如何在本地同步您的邮件和日历。希望这加快了您访问邮件和日历的速度。现在我将讨论联系人,您可以使用联系人发送邮件和日历邀请。

在我的人生历程中,我收集了很多电子邮件地址。管理所有这些数据可能有点麻烦。虽然有基于 Web 的服务,但它们不如本地副本快。
几天前,我谈到了用于管理日历的 vdirsyncer。Vdirsyncer 还使用 CardDAV 协议处理联系人。除了用于日历的 filesystem 存储之外,Vdirsyncer 还支持 google_contacts 和 carddav 进行联系人同步,但 fileext 设置会更改,因此您不会尝试将联系人存储在日历文件中。
我在配置文件中添加了一个配置块,并从 Google 镜像了我的联系人;需要额外的步骤来设置它。需要额外的步骤来设置它。完成 Google 设置后,配置非常简单
[pair address_sync]
a = "googlecard"
b = "localcard"
collections = ["from a", "from b"]
conflict_resolution = "a wins"
[storage googlecard]
type = "google_contacts"
token_file = "~/.vdirsyncer/google_token"
client_id = "my_client_id"
client_secret = "my_client_secret"
[storage localcard]
type = "filesystem"
path = "~/.calendars/Addresses/"
fileext = ".vcf"
现在,当我运行 vdirsyncer discover 时,它会找到我的 Google 联系人,而 vdirsyncer sync 会将它们复制到我的本地计算机。但这只是故事的一半。现在我想读取和使用联系人。这时就需要 khard 和 abook。

为什么要使用两个应用程序?每个应用程序都有自己的用例,在这种情况下,多多益善。Khard 对地址的作用类似于 khal 对日历条目的作用。如果您的发行版附带的是旧版本,您可能需要通过 pip 安装最新版本。安装 khard 后,您需要创建 ~/.config/khard/khard.conf,因为 khard 没有像 khal 那样漂亮的配置向导。我的配置如下所示
[addressbooks]
[[addresses]]
path = ~/.calendars/Addresses/default/
[general]
debug = no
default_action = list
editor = vim, -i, NONE
merge_editor = vimdiff
[contact table]
display = first_name
group_by_addressbook = no
reverse = no
show_nicknames = yes
show_uids = no
sort = last_name
localize_dates = yes
[vcard]
preferred_version = 3.0
search_in_source_files = yes
skip_unparsable = no
这定义了源地址簿(并为其指定了一个友好的名称),以及要显示的内容和用于编辑联系人的工具。运行 khard list 将列出所有条目,而 khard list <some@email.adr> 将搜索特定条目。如果要添加或编辑条目,add 和 edit 命令将使用相同的基本模板启动配置的编辑器,唯一的区别是 add 模板将是空白的。

Abook 要求您导入和导出 VCF 文件,但提供了一些用于查找的不错的功能。要将您的文件转换为 abook 格式,请首先安装 abook 并创建 ~/.abook 默认目录。现在告诉 abook 解析所有文件并将它们放入 ~/.abook/addresses 文件中
apt install abook
ls ~/.calendars/Addresses/default/* | xargs cat | abook --convert --informat vcard --outformat abook > ~/.abook/addresses
现在运行 abook,您将拥有一个非常好的 UI 来浏览、搜索和编辑条目。将它们导出回单个条目有点麻烦,所以我大部分编辑都在 khard 中完成,并使用 cron 作业将它们导入到 abook 中。
Abook 还可以在命令行上搜索,并且有很多关于将其与邮件客户端集成的文档。例如,您可以通过向 .config/alot/config 文件添加一些信息,在 Notmuch 邮件客户端 alot 中使用 abook 进行查找
[accounts]
[[Personal]]
realname = Kevin Sonney
address = kevin@sonney.com
alias_regexp = kevin\+.+@sonney.com
gpg_key = 7BB612C9
sendmail_command = msmtp --account=Personal -t
# ~ expansion works
sent_box = maildir://~/Maildir/Sent
draft_box = maildir://~/Maildir/Drafts
[[[abook]]]
type = abook
这就是您所得到的:快速查找您的联系人,以便与您的邮件和日历配合使用!
评论已关闭。