VS.NET 2010 (and above) Users Click Here   

Licensing FAQ
Software Updates
Support Forums
Feature Requests
About Us
Contact Us
Hosting Companies
Privacy Policy
Shopping Cart


Downloading email using aspNetPOP3 from Gmail

by Dave 2. March 2011 02:15

aspNetPOP3 can easily fetch email from Gmail. To do this you must do the following:

a) Configure POP3 access in Gmail
b) Download the AdvancedIntellect.Ssl.dll from http://www.advancedintellect.com/download.aspx
c) Use aspNetPOP3 over SSL at port 995 to connect.

Lets discuss this below.

Configure POP3 access in Gmail
Before you can access email, you must first configure POP3 in Gmail. To do this, log into Gmail, and click on the settings tab. You should see something similar to what is below. Basically, you want select "Enable POP3 email".

You have a couple of different options. For example, when you connect over POP3 you can have Gmail behave like:
a) Keep the email in the Inbox
b) Mark the email as read, and kept in the Inbox
c) Archive the Message
d) Delete the Message

It's important to realize that in the POP3 protocol, there is only the Inbox. The POP3 protocol does not recognize any concept of mail folders. Thus, it's impossible to navigate or change to a different folder.

Download the AdvancedIntellect.Ssl.dll
Once you have POP3 configured in Gmail, you need to download the AdvancedIntellect,Ssl.dll plugin to use with aspNetPOP3. You can download the dll from:
Gmail only allows you to connect over POP3 using SSL. The  AdvancedIntellect,Ssl.dll allows you to do this.

Use aspNetPOP3 over SSL at port 995 to connect.
Once you've downloaded the dll, you can integrate it into your project.

If you are using VS.NET, import the dll into your application, and set a reference to it.

If you are not using VS.NET, you should be able to just copy the dll to your /bin directory.

Once that is done, the following code example will get you started. This example simply downloads the message count from your inbox, and loops through the headers of the individual messages.


POP3 pop = new POP3( "pop.gmail.com" );

//create and load the ssl socket
AdvancedIntellect.Ssl.SslSocket ssl = new AdvancedIntellect.Ssl.SslSocket();
pop.LoadSslSocket( ssl );

//logging on the ssl socket (not required)
ssl.Logging = true;
ssl.LogPath = "c:\\ssl.log";

//some logging in case we have any problems (not required)
pop.LogPath = "c:\\gmailpopop.log";

//rest of the POP3 properties
pop.Port = 995;
pop.Username = "MyAccount@gmail.com";
pop.Password = "MyPassword";


//get the message count as an example
int count = pop.MessageCount();

Response.Write( count.ToString() );

for( int i=0;i<count;i++)
	string headers = pop.GetHeaders(i);
	//Process the Headers using a custom method
	DoWork( headers );


Dim pop As New POP3("pop.gmail.com")

'create and load the ssl socket
Dim ssl As New AdvancedIntellect.Ssl.SslSocket()

'logging on the ssl socket (not required)
ssl.Logging = True
ssl.LogPath = "c:\ssl.log"

'some logging in case we have any problems (not required)
pop.LogPath = "c:\gmailpopop.log"

'rest of the POP3 properties
pop.Port = 995
pop.Username = "MyAccount@gmail.com"
pop.Password = "MyPassword"


'get the message count as an example
Dim count As Integer = pop.MessageCount()


Dim i As Integer
For i = 0 To count - 1
   Dim headers As String = pop.GetHeaders(i)
   'Process the Headers using a custom method
Next i


As always, if anyone has any questions, feel free to contact me over at the Contact Us web page.

Dave Wanta



Using Advanced Intellect's Products in VS2010/2012

by Dave 9. November 2010 01:46


The instructions below are for people using VS2010 and beyond.


As more and more people are upgrading to VS2010, and beyond, I am getting more of the following emails:

aspNetEmail (or any of our other products) doesn't work in later versions of Visual Studio. I usually get one of the following errors:

"aspNetEmail is not declared, it may be inaccessible due to its protection level."


"The referenced assembly "…" could not be resolved because it has a dependency upon System.Web (or some other internal .NET namespace).  Please remove references to assemblies not in the targeted framework or consider retargeting your project"

Usually these exceptions occur when the developer is building a client side application.

Starting in VS2010, VS tries to be too smart for it's own good.  When you build a client application (console.exe, winform, etc…) VS limits the number of namespaces you need access too, because it thinks you shouldn't need them.

To change this behavior, what you need to do, is change the target framework from a subset of namespaces, to all of them.

To change this, in VS.NET Solution Explorer, Right-Click on  your project, an select Properties.
On the Application tab, set the Target Framework to be ".NET Framework XX". By default it is set to ".NET Framework XX Client Profile".  Press Ctrl-S for save, and you are done.

Below are 2 pictures that display changing the target framework.

As always, if anyone has any questions, feel free to contact me.

Dave Wanta


C# Screenshot:


VB.NET Screenshot (this option is found under the Compile tab. Then, click the "Advanced Compile Option" button.





Once again, thanks. Great control! "

Eric | Poulter Group

Read more testimonials
ListNanny aspNetDNS aspNetEmail aspNetPOP3 aspNetMX IPMuncher aspNetMIME aspNetPING aspNetTraceRoute aspNetIMAP aspNetMHT