ANPOP Developers Center > Using ANPOP3 in Delphi
Important notice:* This product has integrated to EAGetMail POP3 Component, Please use EAGetMail POP3 Component instead of ANPOP POP3 Component.
EAGetMail Related Links:
Retrieve Email and Parse Email in Visual Basic
Retrieve Email and Parse Email in Visual C++
Retrieve Email and Parse Email in Delphi
Retrieve Email and Parse Email in VB.NET
Retrieve Email and Parse Email in C#
Retrieve Email and Parse Email in Managed C++
You should download the anpop installer and install it on your machine at first. If you want to distribute or deploy anpop without anpop installer, please click here to learn more.
Add reference of ANPOP to your project
First of all, make sure ANPOP has been installed on your machine. Now start to create a standard delphi project: select menu "Project" -> "Import Type Library", checked "ANPOP POP3 COMPONENT BUILD" and click "Create Unit".
Using ANPOP in your project
The following code demonstrates how to declare and define objects in your project.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ANPOPLib_TLB, StdCtrls, StrUtils; .... var m_oPop3 : TPOPMAIN; m_oMsg : TPOPMSG; m_oStore: TMSGSTORE; procedure TForm1.FormCreate(Sender: TObject); begin m_oSmtp := TPOPMAIN.Create(Form1); m_oMsg := TPOPMSG.Create(Form1); m_oStore: = TMSGSTORE.Create(Form1); end;
Although you can create new object instance each time, we recommend declare object as member variable and create it in FormCreate subroutine so that you can reuse those member variables again without re-create it.
Asynchronous mode and event driving
If you want to use POPMAIN of ANPOP in asynchronous mode, you MUST bind events like this:
procedure TForm1.BindEvents(); begin m_oPop3 := TPOPMAIN.Create(Form1); //bind events to POPMAIN object m_oPop3.OnConnected := OnConnected; m_oPop3.OnClosed := OnClosed; m_oPop3.OnReceiving := OnReceiving; m_oPop3.OnRetrieved := OnRetrieved; m_oPop3.OnRetrieve := OnRetrieve; m_oPop3.OnGetMsgID := OnGetMsgID; m_oPop3.OnError := OnError; m_oPop3.OnGetTotalOfMails := OnGetTotalOfMails; m_oPop3.OnDeleted := OnDeleted; end;
And you also need to define the following procedures to handle those events
procedure TForm1.OnConnected(Sender: TObject); begin // Add your implementation code end; procedure TForm1.OnClosed(Sender: TObject); begin // Add your implementation code end; procedure TForm1.OnReceiving(Sender: TObject; lBytes: Integer; lMsg: Integer); begin // Add your implementation code end; procedure TForm1.OnDeleted(Sender: TObject; lMsg: Integer); begin // Add your implementation code end; procedure TForm1.OnGetMsgID( Sender: TObject; const messageId: WideString; lMsg: Integer ); begin // Add your implementation code end; procedure TForm1.OnGetTotalOfMails( Sender: TObject; lCount: Integer ); begin // Add your implementation code end; procedure TForm1.OnRetrieve( Sender: TObject; lMsg: Integer ); begin // Add your implementation code end; procedure TForm1.OnRetrieved(Sender: TObject; const emailContent: WideString; lMsg: Integer ); begin // Add your implementation code end; procedure TForm1.OnError( Sender: TObject; lError: Integer; const ErrDescription: WideString ); begin // Add your implementation code end;
Note*: You SHOULD NOT invoke Connect1 method any more while POPMAIN is connecting with pop3 server, otherwise this connection would be terminated automatically.
A Total Sample
This sample demonstrates how to retrieve and parse email with asynchronous mode, click here to download. This sample is developed with Delphi 7.0
Free Email Support
Not enough? Please contact our technical support team.
Support@EmailArchitect.NET
VIP@EmailArchitect.NET(Registered User)
Remarks
We usually reply emails in 24hours. The reason for getting no response is likely
that your smtp server bounced our reply. In this case, please try to use another
email address to contact us. Your Hotmail or Yahoo email account is recommended.
|