在Gmail中链接到单个邮件

9
我想下载 Gmail 帐户中的所有电子邮件,并获取唯一的 URL,该 URL 将在 Gmail 中打开确切的邮件,当然需要认证。我尝试使用 javax.mail imap 库,但是 Imap 可能不支持此类操作。
我可以使用 "https://mail.google.com/mail/feed/atom" Gmail 源。但它不会给我完整的电子邮件,只提供未读邮件,而我不想错过任何邮件。
3个回答

12
如果您正在使用Google Apps for Business/Education,则可以这样做。如果是这种情况,您可以通过OAuth访问Gmail收件箱Feed(Atom)。OAuth也可用于通过IMAP访问Gmail-然后您可以完全以编程方式访问IMAP服务器,请参见使用OAuth的Gmail IMAP和SMTP
Google已将IMAP扩展到允许开发人员通过IMAP提供更类似于Gmail的体验,请参见:(Gmail IMAP扩展,X-GM-EXT-1)
唯一的消息(X-GM-MSGID)和唯一的线程(X-GM-THRID)ID可用于直接生成到Gmail邮件的链接-您只需对ID长进行十六进制编码(例如Long.toHexString(x_gm_msgId))。 那么您的链接将需要采用以下形式:
http://mail.google.com/mail?account_id=ACCOUNT_ID_HERE&message_id=MESSAGE_ID_HERE&view=conv&extsrc=atom

请适当地提供账户ID(类似于user@someplace.com)和消息ID

我一直在这个领域工作,认为您可能会发现我的项目有用,请参见:java-gmail-imap

[注:在Gmail的移动站点上(至少在iPhone/Safari上),以上述格式显示的URL无法使用。]


0

我认为他想要能够完全不访问网站就实现它。 - user1618143

-1

我相当有信心这是不可能的 - 没有可靠的方法可以获取通往 Gmail 单个电子邮件的唯一 URL。我很想听听其他意见!

我确实相信可以获取一个 URL,该 URL 将导致包含该消息的 Gmail 线程 - 但您无法控制在此线程显示中“展开”的哪些消息。


1
即使我能获取到消息线程的URL,我的目的也能得到满足。你能帮我解决这个问题吗?但是,Greplin正在执行一些操作,可以将你带到唯一的电子邮件,并展开它。 - Rohit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接