ivan
  • ivan
  • 100% (Exalted)
  • Administration Topic Starter
14 years ago
Delphi Example
Hotmail/MSN Live POP3 server address is "pop3.live.com". It requires SSL connection on 995 port, and you should use your Hotmail/MSN email address as the user name for user authentication. For example: your email is "liveid@hotmail.com", and then the user name should be "liveid@hotmail.com".

The following example codes demonstrate how to retrieve email from Hotmail/MSN Live POP3 server.

// The following example codes demonstrate retrieving email from Hotmail/MSN Live POP3 server
// To get full sample projects, please download and install EAGetMail on your machine.
// To run it correctly, please change email server, user, password, folder, file name value to yours

Unit Unit1; 

Interface 

Uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, EAGetMailObjLib_TLB; 

Type 
  TForm1 = Class(TForm) 
    Button1: TButton; 
    Procedure Button1Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  End; 

Const 
  MailServerPop3 = 0; 
  MailServerImap4 = 1; 

Var 
  Form1: TForm1; 

Implementation 

{$R *.dfm} 

Procedure TForm1.Button1Click(Sender: TObject); 
Var 
  oMail: IMail; 
  oClient: TMailClient; 
  oServer: TMailServer; 
  oTools: TTools; 
  infos: OleVariant; 
  i, UBound, Count: Integer; 
  oInfo: IMailInfo; 
  mailFolder: WideString; 
  fileName: WideString; 
Begin 
  Try 
    oTools := TTools.Create(Application); 

    // Create a folder named "inbox" under
    // current directory to store the email files
    mailFolder := GetCurrentDir() + '\inbox'; 
    oTools.CreateFolder(mailFolder); 

    oServer := TMailServer.Create(Application); 

    // Hotmail/MSN Live POP3 server address
    oServer.Server := 'pop3.live.com'; 
    oServer.User := 'liveid@hotmail.com'; 
    oServer.Password := 'testpassword'; 
    oServer.Protocol := MailServerPop3; 

    // Enable SSL connection
    oServer.SSLConnection := true; 

    // Set 995 SSL Port
    oServer.Port := 995; 

    oClient := TMailClient.Create(Application); 
    oClient.LicenseCode := 'TryIt'; 

    oClient.Connect1(oServer.DefaultInterface); 
    ShowMessage( 'Connected!' ); 

    infos := oClient.GetMailInfos(); 
    UBound := VarArrayHighBound( infos, 1 ); 
    Count := UBound+1; 
    ShowMessage(Format('Total %d email(s)', [Count])); 

    For i := 0 To UBound Do 
    Begin 
      oInfo := IDispatch(VarArrayGet(infos, i)) As IMailInfo ; 
      ShowMessage(Format('Index: %d; Size: %d; UIDL: ' + oInfo.UIDL, 
      [oInfo.Index, oInfo.Size])); 

      // Generate a random file name by current local datetime,
      // You can use your method to generate the filename if you do not like it
      fileName := mailFolder + '\' + oTools.GenFileName(i) + '.eml; 

      // Receive email from Hotmail/MSN Live POP3 server
      oMail := oClient.GetMail( oInfo ); 

      ShowMessage( 'From: ' + oMail.From.Address + #13#10 + 
        'Subject: ' + oMail.Subject ); 

      // Save email to local disk
      oMail.SaveAs( fileName, true ); 

      // Mark email as deleted from Hotmail/MSN Live POP3 server
      oClient.Delete(oInfo); 
    End; 

    // Quit and pure emails marked as deleted from Hotmail/MSN Live POP3 server
    oClient.Quit; 

  Except 
    On ep:Exception Do 
      ShowMessage( 'Error: ' + ep.Message ); 
  End; 
End; 

End. 
Click here to read original topic - full version ... 

If you have any comments or questions about above example codes, please add your comments here.

EXPLORE TUTORIALS

© All Rights Reserved, AIFEI Software Limited & AdminSystem Software Limited.