Mac版Foxmail联系人批量导入

date
Apr 10, 2022
slug
trgvcmgv
status
Published
tags
Mac
summary
type
Post
 

背景

公司使用自建邮件系统,提供 POP3 和 STMP 功能,和一个简版的 Web 邮件系统,所以大家往往使用本地邮件客户端,方便收发邮件和新邮件提醒。
为了提高发件时选择收件人的效率,需将公司全员的邮件地址导入到 Foxmail 本地联系人中,方便模糊搜索。
但 Mac Foxmail 并没有提供基本的联系人管理功能,仅支持将来往历史邮件中的地址快捷存入到本地联系人中。

分析

在分析 Foxmail 本地文件时,发现其使用 sqlite3 进行数据管理,而且没有加密。结合Mac Foxmail 导入联系人中提到的,本地邮件数据数据是放在下面路径中。
/Users/用户名/Library/Containers/com.tencent.Foxmail/Data/Library/Foxmail/Profiles
需将用户名更换为自己电脑的用户名,可在终端执行whoami查看 在访达中通过快捷键⌘(command) + ⇧ (shift ) + G打开前往快速访问
在这里可以看到本地邮件账号列表,点击任一个xxx@xx.com文件夹可看到联系人数据文件夹Contacts,即每个本地邮件账户和联系人数据是独立的。
在退出 Foxmail 软件后,使用 Navicat 或 DBeaver 打开contacts.db,就能看到数据表格式和已有的联系人数据
notion image
以Foxmail 1.5.6.x为例,用DBeaver打开

操作

下面开始数据导入。
1、首先将已有数据导出到 csv 文件
2、通过 Excel 方式将新旧数据进行合并,得到新的数据。其中除了c_idc_serverid 的值需要唯一,其他就随意了。nickaddr就是联系人的姓名、邮箱地址
3、将 Excel 数据导入到数据库中就完成了。注意,导入时要清空表中以前的数据
notion image
4、关闭 DBeaver 后,重新打开 Foxmail 就看到导入的数据

参考资料:

© 刘德华 2020 - 2023