ExportFile Method

Export POPMSG raw content to an email file.

[Syntax]
C++: HRESULT ExportFile( BSTR FileName, long* pVal )
Visual Basic: ExportFile( FileName As String ) As long
C#: long ExportFile( string FileName )

Parameters

FileName

Name of the file to be saved.

Return Value

If this method succeeds, the return value is zero. If it fails, the return value is non-zero.

Remarks

This method rebuilds the file even if the file already exists.

Usage Example

[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, nCount As Integer
  Dim emailContent, err As String
  
  Set oPop3 = new ANPOPLib.POPMAIN 'Create object instance
  Set oMsg  = new ANPOPLib.POPMSG
  
  err = ""
  nRet = oPop3.Connect( pop3Server, pop3User, pop3Password ) 'Connect pop3 server
  If nRet <> 0 Then
    err = "error with connecting server"
    goto ErrorHandler
  End If
  
  nCount = oPop3.GetTotalOfMails() 'Get total count of emails
  If nCount = -1 Then
    err = "error with GetTotalOfMails"
    goto ErrorHandler  
  ElseIf nCount = 0 Then
    err = "no email"
    goto ErrorHandler
  End If
  
  For i = 1 To nCount
    emailContent = oPop3.Retrieve(i) 'Retrieve email
    If emailContent = vbnullstring Then
      err = "error with Retrieve" 
      goto ErrorHandler
    End If
    
    oMsg.RawContent = emailContent 'Pass email content to POPMSG
    nRet = oMsg.ExportFile( "c:\pop3Test_" & i & ".eml") 'Save email
    If nRet <> 0 Then
      err = "error with ExportFile"
      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, nCount = 0;
  string emailContent = "";
  
  try
  {
    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++ )
    {
      emailContent = oPop3.Retrieve(i); //Retrieve email
      if( emailContent == null )
        throw new Exception( "error with Retrieve" );
    
      oMsg.RawContent = emailContent; //Pass email content to POPMSG
      nRet = oMsg.ExportFile( 
                          String.Format( "c:\\pop3Test_{0}.eml", i )); //Save email
      if( nRet != 0 )
        throw new Exception( "error with ExportFile" );
    }
  }
  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;
  _bstr_t emailContent = "";
  
  try
  {
    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++ )
    {
      emailContent = oPop3->Retrieve(i); //Retrieve email
      if( emailContent == _bstr_t((BSTR)NULL))
        throw string( "error with Retrieve" );
    
      oMsg->RawContent = emailContent; //Pass email content to POPMSG
      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" );

    }
  }
  catch( string &e )
  {
    cout << e << endl;
  }		

  oPop3->Close();   //Close connection
  oPop3.Release();
  oMsg.Release();
  ::CoUninitialize();
}

See Also

ImportFile Method


2001-2007 © Copyright AdminSystem Software Limited. All rights reserved.