通过IMAP查找Gmail网址ID

Fel*_*fer 26 gmail imap

我最喜欢的Gmail功能之一就是可以将网址添加到某些邮件,例如:

https://mail.google.com/mail/#all/124c8f386d41fd3a

我想做的是编写一个脚本,通过IMAP访问我的Gmail帐户,并创建一个HTML页面,其中包含上述链接,我感兴趣的每条消息.

但是,似乎无法从IMAP信封或UUID属性中找到"124c8f386d41fd3a"ID.我发现的所有message-id和uuids都有不同的格式,不能用于生成有关我收件箱的有效链接.

有人知道如何在IMAP中找到这些url-ID吗?

- FelixGeisendörfer又名the_undefined

PS:我使用的是Ruby,之前的尝试包括:

imap.fetch(message_id, "UID")
imap.fetch(message_id, "ENVELOPE")
imap.fetch(message_id, ...)
Run Code Online (Sandbox Code Playgroud)

我在ruby imap docs中尝试了为FetchData列出的所有属性

Viv*_*oel 18

Gmail提供了一个属性:X-GM-THRID用于线程ID.

您可以使用imap fetch函数来获取线程ID.

另请参阅此处的文档.


Shk*_*kur 11

发现了什么.可能是有需要的人.我不知道如何使用ruby,我想使用php,但不知道如何在php中扩展standart imap函数.

openssl s_client -crlf -connect imap.gmail.com:993
. login username password
. select inbox
. FETCH 1 (X-GM-THRID)
Run Code Online (Sandbox Code Playgroud)

你会得到这样的事情* 1 FETCH (X-GM-THRID 1327644190303473294) 下次你需要将它从十进制转换为十六进制值转换:

<?php echo dechex(1327644190303473294); ?> //return 126cbd5b5f264e8e
Run Code Online (Sandbox Code Playgroud)


Paw*_*ski 6

似乎谷歌链接(https://mail.google.com/mail/#all/124c8f386d41fd3a)指向整个对话.

IMAP本身没有这样的功能(分组​​对话)

[更新]

可以使用X-GM-THRID Gmail的IMAP扩展程序.

124c8f386d41fd3a是Gmail的十六进制线程ID.

您可以在这里阅读更多信息:http: //www.limilabs.com/blog/create-gmail-url-id-via-imap


小智 -2

实际上,获取消息直接链接的唯一官方方法是通过 gmail 为未读消息提供的原子提要 ( https://gmail.google.com/gmail/feed/atom )...唯一的困难是您必须进行身份验证,这在使用提要时并不常见,而且目前有大约 15 条新消息的限制,因此任何较新的消息都会“踢出”最旧的消息!我希望他们很快就会以其他方式提供它,无论是通过 IMAP 还是 API...