Hola, estoy haciendo un programa que debe enviar un mail con un archivo adjunto. Estoy usando Delphi 7 y las Indy 10. He usado un ejemplo que pusieron aca.
Mi codigo es el siguiente:
Código Delphi
[-] gcUsuarioCorreo.ReadParams;
if not gcUsuarioCorreo.CheckParams then
begin
Mensajeerror('No se definió los parametros de Envio de Datos');
actSetup.Execute;
exit;
end;
with idMessage do
begin
Clear;
Body.Clear;
Body.Add('COMPENSA: Los datos adjuntos corresponden al '+FormatDateTime('dd/mm/yyyy',date));
From.Address := gcUsuarioCorreo.Correo;
Recipients.EMailAddresses := 'jcafcompensa@yahoo.com';
Subject := 'Datos correspondientes al '+FormatDateTime('dd/mm/yyyy',date);
Priority := TidMessagePriority(mpHigh);
TidAttachmentFile.Create(idMessage.MessageParts,sFileZip);
end;
with idSMTP do
begin
Username := gcUsuarioCorreo.Usuario;
Password := gcUsuarioCorreo.Password;
Host := gcUsuarioCorreo.Host;
Port := gcUsuarioCorreo.Puerto;
if Not Connected then
Connect();
try
try
Controles(true);
IdSMTP.Send(IdMessage);
finally
Controles(false);
Disconnect;
end;
MensajeError('Enviado Correctamente');
except
ON E: EIdReplyError do
begin
MensajeError('No se ha podido enviar el email.' + #13 +
'Incorrecto el email o el usuario o el password.');
end;
on E: EFOpenError do
begin
MensajeError('No se ha podido enviar el email.' + #13 +
'Fichero Adjunto desconocido o erróneo.');
end;
on E: EIdSocketError do
begin
MensajeError('No se ha podido enviar el email.'+ #13 +
'Host desconocido o incorrecto.');
end
else
begin
MensajeError('Fallo en el envio de email');
raise; end;
end;
if connected then
Disconnect;
end;
Sin embargo al momento de ejecutar el programa lanza el siguiente erro:
Must Issue a STARTTLS command first
Alguien podria darme una mano con esto. Gracias.