使用Gmail消息源,生成直接链接

arn*_*ous 9 gmail hyperlink email-headers

那么使用gmail消息源是否可以生成一个指向GMail自己的接口中的消息/线程的链接?

http://productforums.google.com/forum/#!topic/gmail/goChl1gG0NQ上,他们使用以下内容

https://mail.google.com/mail/#all/<HexEncodeMessageID>
Run Code Online (Sandbox Code Playgroud)

这是否与邮件来源中的Message = ID标题相关?

Message-ID: <SomeID@SomeID.mail>
Run Code Online (Sandbox Code Playgroud)

讨论通过IMAP查找Gmail网址ID似乎只提供基于IMAP的解决方案.

dta*_*dta 11

更新

此书签不再有效.见Benjamin Ziepert的更新.

原始答案

我决定制作一个书签来帮助自动化.

javascript:window.location="https://gmail.com/#search/rfc822msgid:"+encodeURIComponent(window.document.body.innerHTML.match(/Message-ID: &lt;(.*)&gt;/i)[1])+"/"+encodeURIComponent(window.location.search.toString().slice(1).split('&').filter(function(x){return x.slice(0,3) == "th="})[0].slice(3));
Run Code Online (Sandbox Code Playgroud)

将此链接保存在书签栏上.要获得对邮件的直接链接,请在该邮件的下拉列表中选择"显示原始邮件",然后单击打开的新页面上的书签.

如果有人建议干净的方式来做到这一点而不必点击show original,我会全力以赴.


Dom*_*ruh 8

不幸的是,您引用的"HexEncodeMessageID"(以及出现在诸如https://mail.google.com/mail/#inbox/14197d2548c9da1a之类的链接中)与RFC822消息ID(发生在电子邮件的源代码中)不同).

我不知道如何使用RFC822消息ID直接链接到电子邮件,但可以在Gmail中搜索特定的RFC822消息ID(请参阅GMail doc):

in:anywhere rfc822msgid:SomeID@SomeID.mail
Run Code Online (Sandbox Code Playgroud)

你可以把它变成一个链接:

https://mail.google.com/mail/#search/in%3Aanywhere+rfc822msgid%3ASomeID@SomeID.mail

(不要忘记消息ID应该是URL编码的.您也可以在GMail中键入搜索并在之后复制生成的URL.)

此链接的问题在于它不会直接将您发送到邮件,而是发送到具有单个匹配的搜索结果页面.但对于某些应用程序来说这可能已经足够了.

优点是:RFC822在您的帐户和发件人帐户中是相同的.因此,如果您想在电子邮件/聊天中引用给定的电子邮件,则可以提供此搜索链接(假设收件人也使用GMail).使用"HexEncodeMessageID"这不起作用,因为它在每个帐户中都不同(根据我自己的实验).

最后一件事:链接仅在您已登录时才有效.