The following samples simply demonstrate how to use ANPOP POP3 COMPONENT to retrieve emails from pop3 server in different programming languages. To learn more programming skills of this component, please access our developers center (Online)
[Visual Baisc]
Sub Retrieve( pop3Server As String, pop3User As String, pop3Password As String )
Dim oPop3 As ANPOPLib.POPMAIN
Dim oMsg As ANPOPLib.POPMSG
Dim i, nRet, nSize, nCount As Integer
Dim emailContent, messageId, errStr As String
Set oPop3 = new ANPOPLib.POPMAIN 'Create object instance
Set oMsg = new ANPOPLib.POPMSG
'For IMAP4 server, please add the following code
'oPop3.IMAP4Connection = 1
'oPop3.ServerPort = 143
errStr = ""
nRet = oPop3.Connect( pop3Server, pop3User, pop3Password ) 'Connect pop3 server
If nRet <> 0 Then
errStr = "error with connecting server"
goto ErrorHandler
End If
nCount = oPop3.GetTotalOfMails() 'Get total count of emails
If nCount = -1 Then
errStr = "error with GetTotalOfMails"
goto ErrorHandler
ElseIf nCount = 0 Then
errStr = "no email"
goto ErrorHandler
End If
For i = 1 To nCount
nSize = oPop3.GetMsgSize(i) 'Get email size
If nSize = -1 Then
errStr = "error with GetMsgSize"
goto ErrorHandler
End If
messageId = oPop3.GetMsgID(i) 'Get message-id
If messageId = vbnullstring Then
errStr = "error with GetMsgId"
goto ErrorHandler
End If
emailContent = oPop3.Retrieve(i) 'Retrieve email
If emailContent = vbnullstring Then
errStr = "error with Retrieve"
goto ErrorHandler
End If
oMsg.RawContent = emailContent
nRet = oMsg.ExportFile( "c:\pop3Test_" & i & ".eml") 'Save email
If nRet <> 0 Then
errStr = "error with ExportFile"
goto ErrorHandler
End If
If oPop3.Delete(i) <> 0 Then 'Delete email from server
errStr = "error with Delete"
goto ErrorHandler
End If
Next
ErrorHandler:
Call oPop3.Close() 'Close connection
Set oPop3 = Nothing
Set oMsg = Nothing
End Sub
[C#]
public void Retrieve( string pop3Server, string pop3User, string pop3Password )
{
POPMAINClass oPop3 = new POPMAINClass(); //Create object instance
POPMSGClass oMsg = new POPMSGClass();
int i = 0, nRet = 0, nSize = 0, nCount = 0;
string emailContent = "", messageId = "";
try
{
//For IMAP4 server, please add the following code
//oPop3.IMAP4Connection = 1;
//oPop3.ServerPort = 143;
nRet = oPop3.Connect( pop3Server,
pop3User,
pop3Password ); //Connect pop3 server
if( nRet != 0 )
throw new Exception( "error with Connect" );
nCount = oPop3.GetTotalOfMails(); //Get total count of emails
if( nCount == -1 )
throw new Exception( "error with GetTotalOfMails" );
else if( nCount == 0 )
throw new Exception( "no email" );
for( i = 1; i <= nCount; i++ )
{
nSize = oPop3.GetMsgSize(i); //Get email size
if( nSize == -1 )
throw new Exception( "error with GetMsgSize" );
messageId = oPop3.GetMsgID(i); //Get message-id
if( messageId == null )
throw new Exception( "error with GetMsgID" );
emailContent = oPop3.Retrieve(i); //Retrieve email
if( emailContent == null )
throw new Exception( "error with Retrieve" );
oMsg.RawContent = emailContent;
nRet = oMsg.ExportFile(
String.Format( "c:\\pop3Test_{0}.eml", i )); //Save email
if( nRet != 0 )
throw new Exception( "error with ExportFile" );
if( oPop3.Delete(i)!= 0 ) //Delete email from server
throw new Exception( "error with Delete" );
}
}
catch( Exception e )
{
Console.WriteLine( e.Message );
}
oPop3.Close(); //Close connection
oPop3 = null;
oMsg = null;
}
[Visual C++]
#include <comdef.h>
#include <string>
#include <iostream>
using namespace std;
#import "c:\program files\adminsystem.net\anpop\anpop.dll" no_namespace
VOID Retrieve( const char* lpszServer,
const char* lpszUser,
const char* lpszPassword )
{
::CoInitialize( NULL );
IPOPMAINPtr oPop3("ANPOP.POPMAIN");
IPOPMSGPtr oMsg("ANPOP.POPMSG");
int i = 0, nCount = 0, nRet = 0, nSize = 0;
_bstr_t emailContent = "", messageId = "";
try
{
//For IMAP4 server, please add the following code
//oPop3->IMAP4Connection = 1;
//oPop3->ServerPort = 143;
nRet = oPop3->Connect( _bstr_t(lpszServer),
_bstr_t(lpszUser),
_bstr_t(lpszPassword));
if( nRet != 0 )
throw string( "error with Connect" );
nCount = oPop3->GetTotalOfMails(); //Get total count of emails
if( nCount == -1 )
throw string( "error with GetTotalOfMails" );
else if( nCount == 0 )
throw string( "no email" );
for( i = 1; i <= nCount; i++ )
{
nSize = oPop3->GetMsgSize(i); //Get email size
if( nSize == -1 )
throw string( "error with GetMsgSize" );
messageId = oPop3->GetMsgID(i); //Get message-id
if( messageId == _bstr_t((BSTR)NULL))
throw string( "error with GetMsgID" );
emailContent = oPop3->Retrieve(i); //Retrieve email
if( emailContent == _bstr_t((BSTR)NULL))
throw string( "error with Retrieve" );
oMsg->RawContent = emailContent;
char szFile[MAX_PATH];
memset( szFile, 0, sizeof(szFile));
::sprintf( szFile, "c:\\pop3Test_%d.eml", i );
nRet = oMsg->ExportFile( _bstr_t(szFile)); //Save email
if( nRet != 0 )
throw string( "error with ExportFile" );
if( oPop3->Delete(i)!= 0 ) //Delete email from server
throw string( "error with Delete" );
}
}
catch( string &e )
{
cout << e << endl;
}
oPop3->Close(); //Close connection
oPop3.Release();
oMsg.Release();
::CoUninitialize();
}
See Also
2001-2007 © Copyright AdminSystem Software Limited. All rights reserved.