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:[email protected]/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 Answer 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 agree to our terms of service and acknowledge you have read our privacy policy.

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