PhilLu
Messages postés251Date d'inscriptionlundi 9 novembre 2009StatutMembreDernière intervention11 mai 2021
-
Modifié par KX le 14/08/2016 à 13:02
PhilLu
Messages postés251Date d'inscriptionlundi 9 novembre 2009StatutMembreDernière intervention11 mai 2021
-
16 août 2016 à 15:56
Bonjour,
Je tente de transposer un code vers un service.
J'observe que je dois modifier certains algorithmes comme par exemple:
J'ai par contre encore un problème avec une tentative d'envoi d'email:
Ce code n'est pas accepté:
var
//FileNames : string;
Result : boolean;
begin
try
Result := False;
//Setup SMTP smtphost, emailport, mailfrom, mailto, mailsubj, mailbody
SMTP := TIdSMTP.Create(nil);
SMTP.Host := smtphost;
SMTP.Port := StrToInt(emailport); //Default email port
MailMessage.From.Address := mailfrom;
MailMessage.Recipients.EMailAddresses := mailto+','+mailcc;
MailMessage.Subject := mailsubj;
MailMessage.Body.Text := mailbody;
//Send email
try
try
SMTP.Connect;
SMTP.Send(MailMessage);
Result := True;
except
on E:Exception do
begin
ShowMessage('Cannot send E-Mail: ' + E.Message);
Result := False;
end;
end;
finally
if SMTP.Connected then SMTP.Disconnect;
end;
except
on E : Exception do
begin
ShowMessage('Error in the function SendEmailDelphi: ' + E.Message);
Result := False;
end;
end;
J'ai tenté l'appel de cette procédure dans le service:
var
SMTP: TIdSMTP;
MailMessage: TIdMessage;
//FileNames : string;
Result : boolean;
begin
try
Result := False;
//Setup SMTP smtphost, emailport, mailfrom, mailto, mailsubj, mailbody
SMTP := TIdSMTP.Create(nil);
SMTP.Host := smtphost;
SMTP.Port := StrToInt(emailport); //Default email port
MailMessage.From.Address := mailfrom;
MailMessage.Recipients.EMailAddresses := mailto+','+mailcc;
MailMessage.Subject := mailsubj;
MailMessage.Body.Text := mailbody;
//Send email
try
try
SMTP.Connect;
SMTP.Send(MailMessage);
Result := True;
except
on E:Exception do
begin
ShowMessage('Cannot send E-Mail: ' + E.Message);
Result := False;
end;
end;
finally
if SMTP.Connected then SMTP.Disconnect;
end;
except
on E : Exception do
begin
ShowMessage('Error in the function SendEmailDelphi: ' + E.Message);
Result := False;
end;
end;
mais sans résultat :-(
Je ne sais pas non plus comment déboguer un service, sauf en l'installant pour le tester... si vous avez des suggestions...
Merci d'avance ;-)
PhilLu
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 Modifié par Cirec le 14/08/2016 à 19:44
Salut,
je vois déjà 2 soucis dans ton code:
1 le TidMessage n'est pas créé
2 le composant TidSMTP n'est pas libéré (il faudra aussi le faire pour TidMessage)