SendEmail avec des composants Indy

J'essaie d'envoyer un mail, mais j'ai un problème, cependant, j'ai trouvé ce code sur le web:

Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdMessage, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent, IdComponent, IdIOHandler,
IdExplicitTLSClientServerBase, IdSMTPBase

procedure SendSimpleMail;
var
Msg: TIdMessage;
DestAddr: TIdEmailAddressItem;
begin
Msg := TIdMessage.Create(Self); //error here
Msg.From.Text := 'name';
Msg.From.Address := '[email protected]';
Msg.Subject := 'Test';

DestAddr := Msg.Recipients.Add;
DestAddr.Text := 'name';
DestAddr.Address := '[email protected]';
Msg.Body.Add('simple test mail.');

tIdSMTP.Host := 'smtp.gmail.com';
tIdSMTP.Port := 25;
tIdSMTP.AuthenticationType := atLogin; //error here (2 error)
tIdSMTP.Username := '[email protected]';
tIdSMTP.Password := 'password';
tIdSMTP.Connect;
tIdSMTP.Authenticate;
tIdSMTP.Send(Msg);
tIdSMTP.Disconnect;
end;

Mais cependant, j'ai noté beaucoup de fautes et il me manque un composant d'Indy.
Les erreurs de compilation:

[DCC Error] Unit1.pas(36): E2003 Undeclared identifier: 'Self'
[DCC Error] Unit1.pas(46): E2233 Property 'Host' inaccessible here
[DCC Error] Unit1.pas(47): E2233 Property 'Port' inaccessible here
[DCC Error] Unit1.pas(48): E2003 Undeclared identifier: 'AuthenticationType'
[DCC Error] Unit1.pas(48): E2003 Undeclared identifier: 'atLogin'
[DCC Error] Unit1.pas(49): E2233 Property 'Username' inaccessible here
[DCC Error] Unit1.pas(50): E2233 Property 'Password' inaccessible here
[DCC Error] Unit1.pas(51): E2076 This form of method call only allowed for class methods
[DCC Error] Unit1.pas(52): E2076 This form of method call only allowed for class methods
[DCC Error] Unit1.pas(53): E2076 This form of method call only allowed for class methods
[DCC Error] Unit1.pas(54): E2076 This form of method call only allowed for class methods
[DCC Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'

Merci pour l'aide à l'avance

Une chose est l'ajout de IdEMailAddress à votre clause uses de faire le compilateur connaît le TIdEmailAddressItem, mais une autre est que l'exemple est fondamentalement mauvais et c'est pour Indy 9 (en raison de atLogin type d'authentification), quelle est la version de Indy utilisez-vous ? Vous pouvez vérifier si vous maintenez la CTRL clé et cliquez sur par exemple IdSMTP de votre clause uses et ensuite vérifier si le IdSMTP.pas est stocké. Si c'est dans Indy9 ou Indy10 dossier.
ok merci, maintenant, les erreurs sont réduites, mais maintenant, sont des 3 erreurs (j'ai édité le premier post), j'ai Indy9 et Indy10, mais quand je clique sur idSMTP j'obtiens une erreur: Impossible de localiser le fichier idSMTP.pas

OriginalL'auteur Giacomo King Patermo | 2012-06-22