如何以编程方式从gmail获取所有(已读和未读)消息,读取状态等?

时间:2011-09-23 10:58:52

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

我有一个客户服务网络应用程序要求,这要求我工作拉&整合来自Gmail,eBay,亚马逊和Paypal的数据。我的解决方案将在ASP.Net 4中用C#开发。

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

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

ATOM Feed只显示未读的电子邮件,因此就是这样。 POP3没有任何线索(这是理所当然的),无论他们是否阅读过电子邮件(除非我将其拉入数据库并管理阅读状态,我自己......但如果他们真正阅读了来自的邮件,则无效在gmail本身内)。

IMAP 似乎就像它会给我我需要的一切,但我不是百分百肯定的。你们都觉得怎么样?此外,IMAP很慢。是否有人知道任何体面的库相当快。我们现在谈论的是一个客户收件箱,其中包含大约360,000条消息,&客户希望将这些消息保存在gmail&无法使用断开连接的数据库。

思考/意见?

1 个答案:

答案 0 :(得分:0)

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

我一直致力于一个程序,将我的整个gmail数据集拉下来进行自己的修补和处理。我正在使用linux,虽然有很多imap'镜像'和imap'处理'应用程序,但我只想玩数据,能够用它做我想做的事情,而不用把它填回去本地的imap服务器。它运行得很好,我正在使用电子邮件的UID(略微修改)作为文件名来转储标题和放大器。电子邮件数据当然,您可以按摩数据并更新数据库或其他任何内容,我只是将其存储在以后进行后处理。在我的电子邮件中寻找趋势,主要是修补。

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

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