Erro no envio de E-mail com Anexo no Delphi 2007

Delphi

27/12/2007

Estou migrando o código do delphi 7 para 2007 e estou com o seguinte problema ao enviar um e-mail com anexo:
- Se removo o código em negrito o sistema envia o e-mail corretamente mas ao tentar adicionar um aquivo em anexo o o sistema gera erro de ´Abstract Error´ na linha IdSMTP.Send(IdMessage);

  IdMessage.Subject := ´teste´;
  IdMessage.Body.Add(´teste´);

  //Manipulando os Anexos

  [b] anexo:=  TIdAttachment.Create(idmessage.MessageParts);
   Anexo.FileName := ´c:\proforma.pdf´;[/b]

  IdSMTP.Connect;
  try
    IdSMTP.Send(IdMessage);
  finally
    IdSMTP.Disconnect;
  end;



Steve_narancic

Steve_narancic

Curtidas 0

Respostas

Steve_narancic

Steve_narancic

27/12/2007

linhas em negrito:
[b:21b1a4b8c2]anexo:= TIdAttachment.Create(idmessage.MessageParts);
Anexo.FileName := ´c:\proforma.pdf´;[/b:21b1a4b8c2]


GOSTEI 0
Massuda

Massuda

27/12/2007

Acho que o correto seria...
....
  TIdAttachment.Create(idmessage.MessageParts, ´c:\proforma.pdf´);
...



GOSTEI 0
Steve_narancic

Steve_narancic

27/12/2007

Eu usava assim, mas agora no Delphi 2007, nao existe o parametro do nome do arquivo no create.


GOSTEI 0
Massuda

Massuda

27/12/2007

desculpe, não tinha vistoque era D2007... nesse caso, no Indy10, para ´simplificar´ as coisas, eles resolverar criar classes específicas para cada tipo de anexo. No caso de arquivos use...
....
  TIdAttachmentFile.Create(idmessage.MessageParts, ´c:\proforma.pdf´);
...
...e inclua no uses a unit IdAttachmentFile.


GOSTEI 0
Steve_narancic

Steve_narancic

27/12/2007

Realmente, lendo no help eu vi que a classe IdAttachment é a classe ancestral com metodos abstratos para as classes descentes. Assim como o amigo massuda indicou utilizei a classe idAttachmentFile, e não houve erro mas o e-mail foi enviado sem o anexo


GOSTEI 0
Steve_narancic

Steve_narancic

27/12/2007

Existe algum outro cuidado a ser tomado? pois o anexo não esta sendo enviado!


GOSTEI 0
POSTAR