- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
总结一下我的目标,我真的只是在寻找一种简单的开源方法,它允许我基于每个用户创建和维护一个/多个远程 IMAP 电子邮件帐户的(最好是 noSQL 数据库)备份/存档,并且使用简单、低成本的解决方案同步每个用户的电子邮件帐户,该解决方案可以轻松扩展,以高效的方式消耗服务器资源,并具有每个用户需要的附加功能,只需将新的 imap 帐户添加到即可连接到他的中央电子邮件存档他现有的电子邮件客户端使用通过此存档服务器/设置提供的 imap 服务器、用户名和密码。
更具体地说:
我一直在寻找某种类型的可扩展的开源解决方案,它可以在云中运行(因此很容易扩展),它允许执行以下操作:
1) 允许我指定各种带有登录信息的 IMAP 服务器,这些服务器用于访问这些电子邮件帐户并下载/同步每个帐户中的所有电子邮件(希望包括文件夹/标签)
2) 关于用于存储每个帐户的所有电子邮件的数据库,我正在研究可扩展的解决方案,例如 couchdb 或 mongodb,它们可能会维护每封电子邮件的简单索引。该索引将维护每封电子邮件的基本信息,例如标题列,包括:从、到、数据时间戳、主题行、相关文件夹/标签、第一次同步日期时间、最后一次同步日期时间、已读/未读状态、数量附件、附件文件名/大小/类型及其所属的关联 imap 帐户,....)
3) 就所有原始电子邮件(包括附件)的存储而言,我认为每封电子邮件都应作为具有唯一文件名/消息 ID 的单独文件下载,该文件名/消息 ID 将在主电子邮件索引中引用,因此所有这些原始电子邮件都可以使用亚马逊的 S3 存储解决方案进行存储,以实现几乎无限的可扩展性。
到目前为止,我相信现有的开源解决方案可以使用或定制来实现这些目标......最值得注意的是,“offlineIMAP”似乎提供了所有这些功能+更多,但如果你知道不同的选择请告诉我。
好的,现在我不确定的元素......
5) 我在这里需要的是一种利用任何类型的电子邮件客户端的方法,它本身支持通过 IMAP 连接访问电子邮件,现在让我能够连接到我的自定义电子邮件数据库,就好像它是一个普通的 imap 电子邮件服务器一样.因此,我想我需要某种类型的连接器,它将 imap 协议(protocol)连接到在 couchdb(或使用的任何数据存储)上执行的操作。自然地,任何标准的 iMac 功能(例如搜索/复制/移动/删除/...)也应该是可能的,同时检索个别电子邮件的详细信息是通过从 Amazon S3 存储系统检索关联电子邮件来完成的。 (我只是假设这种方法最有意义,因为这样做可以降低成本。
假设我的逻辑和方法在这种方法中使用 couchdb/mongodb 方面是合理的,在我看来,这种设置确实应该允许我轻松地将其扩展到多个用户,并且访问文件应该相当快。 ..
有没有人有任何与实现这些目标相关的经验、建议或建议/脚本?
如果电子邮件存档设置和使用 Amazon S3 存储实际电子邮件,我能想到的关于这种类型的唯一负面影响是用户将无法通过关键字搜索其存档的内容(正文)。我想这可以通过简单地向 couchdb 电子邮件索引添加另一列来解决,该列可以从电子邮件中提取所有实际消息文本(不包括任何先前回复/转发内容的内容)。
最佳答案
关于 5):你可能想看看 Apache James,据我所知它有很多存储引擎,你可以使用/适应其中之一。这样它就可以为您的数据库提供 IMAP 接口(interface)。当然它不会从其他服务器同步,您必须使用已经提到的其他方法来做到这一点。
关于mongodb - 如何在 couchdb/NoSQL 数据存储之上实现 IMAP 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8276110/
我正在设计一个用于任务管理的移动应用程序(待办事项列表以及许多额外的好东西),可以离线使用并在重新连接时同步。 Couch 和 Pouch DB 给我留下了深刻的印象,但我仍然不确定数据库和角色的最佳
CouchDB 中如何实现多范围查询?对于单个范围条件, startkey 和 endkey 组合工作正常,但同样的事情不适用于多范围条件。 我的 View 函数是这样的: "function(doc
是否可以在不同的 CouchDB 数据库之间进行连接?我知道,我可以将所有数据放入同一个数据库中,但我想使用 Ubuntus DesktopCouch,它有一些默认数据库,比如我想使用的联系人和笔记。
给定以下对象结构: { key1: "...", key2: "...", data: "..." } 有没有办法通过查询 key1 和 key2 而不设置两个不同的 View (每
我从 CouchDB 开始,需要一点帮助。 我有很多数据在表中列出给用户。用户应该能够通过多个动态参数过滤该数据。 例如。假设有一个包含日期、作者、标签、is_published、标题字段的表。 用户
刚刚在 mac 山狮上使用 brew 安装了 CouchDb。一切顺利,直到我遇到以下问题启动服务器我不知道 erlnag 并且无法分析转储文件 `couchdb Apache CouchDB 1.2
在使用关系数据库工作了这么长时间后,我真的很努力地理解这个新概念...... 谁能解释我应该如何进行存储,比如类别层次结构? 在关系数据库中,我有: 类别: 类别编号 父类别 ID 姓名 或那种性质的
我希望有人可以在这里验证或更正我的结论。 我正在考虑写一个小的副项目。我想创建一个用于记笔记的桌面应用程序,该应用程序将同步到 Web 服务器,以便多个安装可以保持同步并共享数据,并且如果需要,还可以
我试图在单个 CouchDB 文档中存储多个独立附件,并为每个附件分配任意属性(即描述)。是否有这样做的约定?据我所知,我无法将它们插入 _attachments直接构造。提前致谢! 最佳答案 您不能
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 2年前关闭。 Improve t
这些功能是什么? 我在哪里可以阅读有关它们如何工作的信息? CouchDB 权威指南没有解释它,很奇怪。 最佳答案 来自 CouchDB 权威指南: There are other design do
我一直在阅读 Linked documents在 CouchDb 文档中,它看起来很好。 但是是否可以在数据库 A 中编写一个 View 来从数据库 B 发出文档?我需要它,因为我们在不同的数据库中存
使用 CouchDB 1.0.1。 我删除了一些文件,然后我放了一些其他的文件 _id作为删除的。 现在这些新文档有 _deleted_conflicts field : "_deleted_conf
我想实现一个 webapp - 一个集成来自各种来源的数据并将它们显示给用户的提要。用户应该只能看到他有权阅读的提要项目(例如,因为它们属于他所属的项目)。但是,许多用户可能(并且将会)看到一个提要项
我是 CouchDB 的新手并正在学习它。我没有遇到 CouchDB 对参照完整性的支持。 我们可以为 CouchDB 文档中的字段创建外键吗? 例如是否可以确保供应商数据库中提供订单文档中使用的供应
是否有任何技术/建议来强制执行独特的约束?是的,我们可以创建唯一的 key ,但我们不能更改 key 和 key ,而且这种方法不适合复杂的验证(单独的唯一登录、单独的唯一电子邮件等...) 例如,一
我有一个问题,我已经尝试回答一段时间了,但无法弄清楚: 您如何设计或划分 CouchDB 文档? 以博客文章为例。 半“关系”方法是创建一些对象: 发帖 用户 评论 标签 片段 这很有道理。但我正在尝
CouchDB 可以在同一台机器上处理数千个独立的数据库吗? 假设您有一组 BankTransaction。有数千条记录。 (编辑:实际上并不存储事务——只需考虑大量非常小的、频繁更新的记录。它基本上
我有一个 CouchDB 数据库,主要存储文档附件。 文件存储在数据库中,URL 结构如下:/db-name/numeric-file-id/official-human-readable-file-
我正在阅读 Apress 的《Beginning CouchDB》一书,其中有一行让我有点困惑: Also important to note is that CouchDB will never o
我是一名优秀的程序员,十分优秀!