【问题标题】:How to programatically get ALL (read and unread) messages from gmail, read status, etc?如何以编程方式从 gmail、阅读状态等获取所有(已读和未读)消息?
【发布时间】:2011-11-23 14:01:27
【问题描述】:

我有一个客户服务网络应用要求,这要求我从 Gmail、eBay、Amazon 和 Paypal 提取和集成数据。我的解决方案将使用 C# 在 ASP.Net 4 中开发。

我遇到的问题是,我的客户几乎需要 Gmail 所拥有的关于每封电子邮件的所有信息,而来自 Gmail 的 ATOM 提要似乎有点缺乏。我意识到我也可以使用 POP3 或 IMAP,但由于多种原因也缺少它们。

具体来说,客户需要电子邮件的阅读状态(无论他们是否已阅读发送给他们的电子邮件)。他们还需要所有过滤器保持完整。因此,如果一封电子邮件被标记为 x、y 和 z,那么我需要了解它。

ATOM 提要只向我显示未读的电子邮件,所以没有。 POP3 不知道他们是否阅读过电子邮件(这是理所当然的)(除非我将其拉入数据库并管理阅读状态,我自己......但如果他们真的阅读了来自在gmail本身内)。

IMAP 似乎它会给我我需要的一切,但我不能 100% 确定这一点。大家怎么看?另外,IMAP 太慢了。有没有人知道任何相当快的体面库。我们目前正在谈论一个包含大约 360,000 条消息的客户收件箱,并且客户更愿意将这些消息保留在 gmail 中,而不是使用断开连接的数据库。

想法/意见?

【问题讨论】:

  • @Morawski 这是我第一次看到的库,它只是 ATOM 的一个包装器,所以它也只会为我提供未读消息,除非我遗漏了什么。
  • 你不是,我没有检查过,这只是我的第一个想法。
  • 你找到了高性能的 IMAP C# 库吗?
  • 任何带有完整源代码示例的最终解决方案?

标签: c# gmail gmail-imap gmail-pop


【解决方案1】:

IMAP 确实为每条消息提供了已读/未读状态,您可以从特定的“标签”(文件夹)中提取或仅从“所有邮件”存储桶中提取。您也不需要提取整个邮件,您可以只要求标题,让您能够快速扫描许多电子邮件。

我一直在开发一个程序来提取我的整个 gmail 数据集,以便我自己进行修补和处理。我正在使用 linux,虽然那里有大量 imap 'mirror' 和 imap 'processing' 应用程序,但我只想处理数据,能够用它做我想做的事,而不是将其塞回本地 imap 服务器。它运行良好,我使用电子邮件的 UID(稍作修改)作为文件名来转储标题和电子邮件数据。当然,您可以在那时处理数据并更新数据库或其他任何内容,我只是将其存储起来以供以后处理。在我的电子邮件中寻找趋势,主要是修补。

我尝试使用 etpan 库进行 IMAP 处理,但没有找到我喜欢的,所以我一直在从其他电子邮件程序和服务器中提取 imap 例程来使用。我有 RFC,但如果我能提供帮助,我真的很想不在这里重新发明轮子。

是的,这不是最佳答案,但希望一些信息可以提供帮助。我想 PHP 或其他基于 Web 的系统有很好的库,我自己一直在使用 C++/C。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    相关资源
    最近更新 更多