Mun
Mun

Reputation: 14328

Programmatically searching GMail?

Is there any way to programmatically search GMail, preferably using C#?

For example, I'd like to get all email messages matching the search label:MyLabel from:[email protected], so that I can parse the email bodies as required.

The only thing remotely feasible I've found is the GMail API by Johnvey Hwang, though it doesn't look like it supports searching email and also hasn't been updated in many years either.

In any case, I haven't had much luck in getting it to even connect to my account so far, and was wondering if this even works anymore?

Upvotes: 8

Views: 5492

Answers (4)

Or Duan
Or Duan

Reputation: 13860

it's 2015 now! You can use Google's Gmail API.

It has a search feature, you can do it easily just like this:

https://www.googleapis.com/gmail/v1/users/me/messages?q="in:sent after:2014/01/01 before:2014/01/30"

Upvotes: 2

Mun
Mun

Reputation: 14328

Eventually, I settled with using IMAPX, which works pretty well. Tried a few other IMAP libraries which weren't as powerful and seemed a bit flaky.

If anyone's interested, the outcome of this is iDevice App Reporter, which is a WinForms app that searches GMail (or any other IMAP mailbox) for iTunes app receipts and parses these to return a list of downloaded/purchased apps from the Apple AppStore.

Upvotes: 2

Tobias Cudnik
Tobias Cudnik

Reputation: 9630

To use a full gmail search (like multi labels, boolean operators) via IMAP, you need to use X-GM-RAW attribute. More on Google Apps docs.

Upvotes: 1

In silico
In silico

Reputation: 52207

Create an IMAP client, or use a library, to access Gmail and search for e-mail messages. The IMAP protocol explicitly supports searching on the server-side. Make sure IMAP access is enabled for the Gmail account.

Note that in Gmail, labels are treated like IMAP folders.

Upvotes: 8

Related Questions