1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| procedure Tfm_ActivexMEDIC.RzDialogButtons1ClickOk(Sender: TObject);
var
IdMessage: TIdMessage;
IdSMTP: TIdSMTP;
IMessage: TStrings;
SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
IdMessage := TIdMessage.Create(nil); //création dynamique du composant
IdMessage.From.Address := 'monmail@gmail.com';
IdMessage.Subject := 'Test';
IdMessage.ContentType := 'multipart/alternative'; //Message 'découpé' en plusieurs parties
IMessage := TStringList.Create;
IMessage.Add('Bonjour comment vous allez ?'); //par exemple... il faut juste que ce soit un TStrings !
//On passe ensuite à l'envoi du message:
IdSMTP := TIdSMTP.Create(nil) ; //Création dynamique du composant
SSLHandler:= TIdSSLIOHandlerSocketOpenSSL.Create(fm_ActivexMEDIC);
IdSMTP.IOHandler:= SSLHandler;
IdSMTP.Port := 465; //Le port SMTP standard... ou le 587
IdSMTP.Host := 'smtp.gmail.com'; //Le serveur auquel se connecter
IdSMTP.UseTLS:= utUseExplicitTLS;
//Ensuite on se connecte et on envoit le message, en gérant les erreurs, tant qu'à faire !
try
try
IdSMTP.Connect;
IdSMTP.Send(IdMessage);
except
on e : EIdConnClosedGracefully do
begin
ShowMessage(e.Message);
end;
end;
finally
IdSMTP.Disconnect;
IdSMTP.Free;
IdMessage.Free;
end;
end; |
Partager