管理联系人的 3 个开源工具

通过在本地同步联系人,更快地访问您的联系人。了解如何在我们的“2020 年利用开源提高效率的 20 种方法”系列文章的第六篇中做到这一点。
77 位读者喜欢这篇文章。
Team communication, chat

去年,我为您带来了 19 天的(对您而言)全新的 2019 年效率工具。今年,我将采取不同的方法:构建一个环境,让您在新的一年里更有效率,使用的工具可能是您已经在使用或尚未使用的工具。

用于联系人管理的开源工具

在本系列之前的文章中,我解释了如何在本地同步您的邮件日历。希望这加快了您访问邮件和日历的速度。现在我将讨论联系人,您可以使用联系人发送邮件和日历邀请。

abook

在我的人生历程中,我收集了很多电子邮件地址。管理所有这些数据可能有点麻烦。虽然有基于 Web 的服务,但它们不如本地副本快。

几天前,我谈到了用于管理日历的 vdirsyncer。Vdirsyncer 还使用 CardDAV 协议处理联系人。除了用于日历的 filesystem 存储之外,Vdirsyncer 还支持 google_contactscarddav 进行联系人同步,但 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 会将它们复制到我的本地计算机。但这只是故事的一半。现在我想读取和使用联系人。这时就需要 khardabook

khard search

为什么要使用两个应用程序?每个应用程序都有自己的用例,在这种情况下,多多益善。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> 将搜索特定条目。如果要添加或编辑条目,addedit 命令将使用相同的基本模板启动配置的编辑器,唯一的区别是 add 模板将是空白的。

editing in khard

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

这就是您所得到的:快速查找您的联系人,以便与您的邮件和日历配合使用!

接下来阅读什么
标签
User profile image.
Kevin Sonney 是一位技术专业人士、媒体制作人和播客。作为 Linux 系统管理员和开源倡导者,Kevin 在 IT 行业拥有超过 25 年的经验,在开源领域拥有超过 15 年的经验。他目前在 elastic 担任 SRE。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.