The way I see it, there are 2 ways of automating gmail, but both have their drawbacks. The first way is to use a Web Browser control, load up gmail and fill the forms programmatically in order to log in. This method is really easy, and it might even still work if gmail changes their code. The problem is that it seems impossible to multithread this approach, the reason being that whenever you implement another webbrowser control, it acts like a new tab rather than a separate window, meaning it will only manage one gmail login at a time. The second way would be to use HTTP requests to send the raw login info to gmail, behind the scenes. This is what I've used for a few other sites, however I have never been able to log into gmail and maintain a session without a webbrowser. The advantages of this code would be that you can multithread it quite easily once you have it working, and that it is just very fast and efficient code. The downside would be that you would have to keep on top of updates to make sure they don't change something small on you, rendering your code useless. Now, the reason I started this thread is because I'm at a bit of an impasse. I wouldn't mind going with the webbrowser approach, but I would like to multithread it! I also wouldn't mind the HTTP request approach, but I simply can't get it to work! So what I'm asking is 2 questions. 1. Do you know how to load more than one webbrowser into the same application, yet maintain separate sessions? OR 2. Do you know how to access gmail through http requests and maintain a session? Hopefully we can get an answer to this up here, because I'm sure there are a lot of other BH coders who are dealing with exactly the same issue, and there's not a whole lot of help available online regarding this issue.