siguiendo dando vueltas al tema, he vuelto a la función que se que me funciona, que es
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
function EnviarEmail(aData, aHora : TDateTime; aHost, aLogin, aSenha,aListaEmail, aAssunto, aCorpo : String; Mifile:string) : Boolean;
var
IdSMTP : TIdSMTP;
IdMessage : TIdMessage;
Cabecalho: string;
begin
Cabecalho:= '';
Result:= False;
IdSMTP := TIdSMTP .Create(nil);
IdMessage := TIdMessage.Create(nil);
try
IdSMTP.Host:= aHost;
IdSMTP.AuthType:= satDefault;
IdSMTP.Username:= aLogin;
IdSMTP.Password:= aSenha;
IdSMTP.Connect;
IdMessage.From.Address:= aLogin;
IdMessage.Recipients.EMailAddresses:= aListaEmail;
IdMessage.Subject:= aAssunto;
IdMessage.Body.Text:='Data: '+DateToStr(aData)+#13#10+'Hora: '+TimeToStr(aHora)+#13#10+ aCorpo;
IdMessage.MessageParts.Clear;
if Mifile<>'' then TIdAttachmentFile.Create(IdMessage.MessageParts,Mifile);
try
IdSMTP.Send(IdMessage);
except
on E: Exception do
begin
MessageDlg('Error al intentar enviar este correo '+#13#10+e.Message,mtWarning,[mbok],0);
Exit;
end;
end;
finally
IdSMTP .Disconnect;
IdSMTP .Free;
IdMessage.Free;
end;
Result:= True;
end;
begin
EnviarEmail(Date,Time, 'smtp.eresmas.com','Desart@eresmas.com','xxx', Edit1.text,Edit2.Text,Memo1.Lines.Text,fichero);
end;
a esta le he añadido para adjuntar ficheros en mifile con esta única linea
Código Delphi
[-] if Mifile<>'' then TIdAttachmentFile.Create(IdMessage.MessageParts,Mifile);
y me sale el error
que como veis es totalmente diferente, en cambio si lo mando sin fichero, funciona perfectamente, siempre y cuando no lo mande desde una cuenta Gmail, en la que me da el error antes comentado.