thunderbird - 来自.sqlite base的未读消息数

时间:2012-09-14 09:56:15

标签: sqlite thunderbird awesome-wm

我想为awesome WM创建一个小插件,它会在Thunderbird中显示一些待处理的未读消息。我想获取直接访问Thunderbird sqlite 库的消息数量。问题是:我应该查询哪个基数,表格和字段?

~/.thunderbird/profile/下至少有15个基地,包括./global-messages-db.sqlite。在这个基础上,我尝试了messageAttributes表,但没有取得多大成功。我找不到描述属性的开发文档......

这里有任何帮助吗?

1 个答案:

答案 0 :(得分:4)

您可以在global-messages-db.sqlite文件中找到所需内容。如果您观看messages表,则会找到一列jsonAttributes。在那里,您将找到一个JSON数组,来自属性ID及其值。键58是消息的读状态。因此,如果您在此列中找到类似{"58": false}的内容,则该邮件仍未读取。但是,当收到新消息时,不会立即更新此数据库。 (它甚至可能只在你关闭Thunderbird时更新 - 我不确定。)

因此,当您看到找到未读消息时,这将是一个艰难的方式。我建议你更好地创建一个插件,即通过IMAP或POP3直接检查服务器。

对于IMAP服务器,Delightful Extensions内已存在一个很棒的插件。我不知道任何POP3插件,因为看起来似乎很少找到POP的liba库。