2011-03-22 2 views
9

Gmail 계정에있는 모든 이메일을 다운로드하고 싶지만 인증 과정을 거친 Gmail의 정확한 메일을 열 수있는 고유 한 URL을 원합니다. 나는 javax.mail imap library를 사용하려했지만 Imap은 아마 그것과 비슷한 것을 지원하지 않을 것이다.Gmail의 개별 메일에 대한 링크

"https://mail.google.com/mail/feed/atom"Gmail 피드를 사용할 수 있습니다. 하지만 전체 전자 메일을 제공하지 않을 것이며 읽지 않은 전자 메일 만 제공하므로 어떤 전자 메일도 놓치지 않으려 고합니다.

답변

12

Google Apps for Business/Education을 사용하는 경우이 작업을 수행 할 수 있습니다. 그렇다면 OAuth를 사용하여 Gmail받은 편지함 피드 (Atom)에 액세스 할 수 있습니다. OAuth는 IMAP을 통해 Gmail에 액세스하는데도 사용할 수 있습니다. 그러면 프로그래밍 방식으로 IMAP 서버에 완전히 액세스 할 수 있습니다 (Gmail IMAP and SMTP using OAuth 참조).

Google은 개발자가 IMAP을 통해 Gmail과 유사한 환경을 제공 할 수 있도록 IMAP을 확장했습니다 ((Gmail IMAP Extensions, X-GM-EXT-1) 참조).

고유 한 메시지 (X-GM-MSGID) 및 고유 스레드 (X-GM-THRID) ID를 사용하여 Gmail 메시지에 대한 링크를 직접 생성 할 수 있습니다. id를 16 진수로 인코딩하면됩니다 (예 : 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 ( [email protected] 같은) 및 MESSAGE_ID_HERE 적절한 공급.

저는이 분야에서 일하고 있으며 프로젝트가 유용하다고 생각합니다. 참조 : java-gmail-imap.

[NB :. Gmail의 모바일 사이트에 작동하지 않습니다 위와 형식의 URL을 (적어도 아이폰/사파리)]

-1

고유 한 URL을 얻을 수있는 확실한 방법은 없습니다. Gmail에서 하나의 이메일로 연결됩니다. 그렇지 않으면 듣고 싶어요!

메시지가 포함 된 Gmail 스레드로 이어질 수있는 URL을 얻을 수는 있지만이 스레드 된 디스플레이에서 어떤 메시지가 "확장"되는지에 대한 제어권이 없습니다.

+1

내 목적도 해결 될 것 = 당신이 (오른쪽 위 모서리에있는 아이콘을 팝업을 사용 를 ID가 다음과 같습니다 새 창에서 메일을 열 때 당신은 그것을 얻을 메시지 스레드 URL을 얻을 수 있다면 나에게 도움을 줄 수 있습니까?하지만 Greplin은 고유 한 이메일로 이동하여 확장합니다. – Rohit

관련 문제