1

我正在努力将我的本地网络应用程序转移到谷歌应用程序。我已经有一个用于商业谷歌应用程序的帐户,现在我需要处理与电子邮件交互的功能。

让我给出一个概要 - 我的网络应用程序当前设置为 cron 作业会以较短的间隔将所有电子邮件从设置的邮箱下载到数据库中,当输入每条消息时,它们将被分配一个特定的 ID,我们将能够在我们需要的任何地方使用该 ID 来引用我们应用程序中的该消息。因此,基本上我们的应用程序邮件部分给人一种当它从数据库中检索时作为 webmail 客户端的错觉。我对类似案例的谷歌应用解决方案感兴趣。

问题是应用程序最初在 cron 作业运行时 - 它不仅从邮件服务器下载电子邮件,而且还会从邮箱中删除电子邮件。所以基本上我们会参考我们本地数据库中的电子邮件,因为它就是它存在的地方。

但是,现在我根本不想从收件箱中删除电子邮件。事实上,我想设置它,以便我可以在我的 gmail 收件箱中维护对电子邮件的引用,并且在我的本地系统中仍然有一个副本,或者至少是一个电子邮件的基本链接。问题是,从我对电子邮件网络客户端的编程中,我无法找到邮箱中电子邮件的唯一 ID,这可以用作从外部应用程序中识别它们的一种方式——电子邮件似乎是按顺序编号的,并且当电子邮件在收件箱之间移动时,顺序会发生变化。UID 或唯一 ID 值似乎具有误导性,因为它只是该电子邮件的序列号,如果早期的电子邮件被删除或移动,它可能会发生变化。

最好的方法是什么?

4

2 回答 2

0

您确定 id 更改的事实吗?我刚刚归档了收件箱中的一条消息。(我事先复制了链接)。然后我拿了链接,并在一个完全不同的浏览器中使用它(第一次是 FF,第二次是 Chrome)。它提取了相同的电子邮件。

于 2011-05-07T20:16:14.597 回答
0

Google 的 IMAP 服务器支持专有的 X-GM-MSGID 命令,该命令允许检索邮件的 Gmail UID。

https://developers.google.com/google-apps/gmail/imap_extensions#access_to_the_gmail_unique_message_id_x-gm-msgid

于 2012-11-24T03:24:13.543 回答