1

I get an ATOM feed from gmail with a list of messages. Each message entry in the ATOM feed includes a link like this:

<link rel="alternate" href="https://mail.google.com/mail?account_id=email_address&amp;message_id=big_number&amp;view=conv&amp;extsrc=atom" type="text/html"/>

Is there a way to get just that one message from gmail? I tried the obvious

https://mail.google.com/mail?account_id=email_address&amp;message_id=big_number&amp;view=conv&amp;extsrc=atom that just returns a redirect to login.

I also tried: https://email_address:password@mail.google.com/mail?account_id=email_address&amp;message_id=big_number&amp;view=conv&amp;extsrc=atom but that returns forbidden 403.

I then tried to use OpenPop (Pop3 client) to retrieve a message; however, GetMessageUids() returns an empty list.

Is there a way to retrieve a specific email from gmail, ideally using https: as I tried above, or if not, then by using pop3? I already have a pop3 client retrieving all emails from gmail, so I don't want to interfere with that.

1

It turns out that using OpenPop to retrieve the entire message does work. It can 'miss' a message if another pop3 client has already downloaded it before OpenPop gets to it (that's why I saw GetMessageUids() return 0 - I was debugging step by step). One can get around this by prefixing one's username with "recent:" in Pop3Client.Authenticate(). This will download all messages received in the past 30 days. Long list for my user, but better than missing a message.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.