Ссылка на отдельные письма в gmail - PullRequest
9 голосов
/ 22 марта 2011

Я хочу загрузить все электронные письма в учетной записи Gmail, а также получить уникальный URL, который откроет точную почту в Gmail, конечно же, с аутентификацией.Я пытался использовать библиотеку javax.mail imap, но Imap, вероятно, не поддерживает ничего подобного.

Я могу использовать "https://mail.google.com/mail/feed/atom" фиды Gmail. Но не дает мне всю электронную почту, а только дает непрочитанную электронную почту иЯ не хочу пропустить ни одного письма

Ответы [ 3 ]

12 голосов
/ 06 сентября 2011

Вы можете сделать это, если используете Google Apps для бизнеса / образования.Если это так, вы можете получить доступ к входящему каналу Gmail (Atom) с помощью OAuth.OAuth также можно использовать для доступа к Gmail через IMAP - тогда вы можете получить полный доступ к серверу IMAP программным способом, см. Gmail IMAP и SMTP с использованием OAuth .

Google расширил IMAP, чтобы позволить разработчикам предоставлять более похожую на Gmail работу через IMAP, см .: (Расширения Gmail IMAP, X-GM-EXT-1) .

Идентификаторы уникального сообщения (X-GM-MSGID) и уникального потока (X-GM-THRID) можно использовать для прямого создания ссылок на сообщения Gmail - вам просто нужно закодировать длинный код (например, Long).toHexString (x_gm_msgId)).Тогда ваша ссылка должна быть в форме:

http://mail.google.com/mail?account_id=ACCOUNT_ID_HERE&message_id=MESSAGE_ID_HERE&view=conv&extsrc=atom

с ACCOUNT_ID_HERE (что-то вроде user@someplace.com) и MESSAGE_ID_HERE в зависимости от ситуации.

Я работаю в этой области и думаю, что вам может пригодиться мой проект, см. java-gmail-imap .

[NB: URL, отформатированные как указано выше, не работают на мобильном сайте Gmail (по крайней мере, на iPhone / Safari).]

0 голосов
/ 20 ноября 2013

https://mail.google.com/mail/#all/HexEncodeMessageID замените часть HexEncodeMessageID идентификатором. Вы получите его, когда откроете письмо в новом окне (используйте значок в верхнем правом углу. Идентификатор выглядит следующим образом: search = inbox & th = 1426b8f59e003aa0

0 голосов
/ 23 марта 2011

Я вполне уверен, что это невозможно - что нет надежного способа получить уникальный URL, который приведет к одному письму в Gmail.Я хотел бы услышать иначе!

Я верю, что возможно получить URL, который приведет к ветке Gmail, содержащей сообщение - но вы не можете контролировать, какие сообщения (сообщения) «раскрываются»в этом резьбовом дисплее.

...