Rank: Administration
Groups: Administrators
Joined: 11/11/2010(UTC) Posts: 1,154
Thanks: 9 times Was thanked: 55 time(s) in 55 post(s)
|
Delphi ExampleHotmail/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. Code:
// 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.
|