GARANTIR DESCONTO

Fórum Erro no envio de E-mail com Anexo no Delphi 2007 #351128

27/12/2007

0

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

Responder

Posts

27/12/2007

Steve_narancic

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


Responder

Gostei + 0

27/12/2007

Massuda

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



Responder

Gostei + 0

27/12/2007

Steve_narancic

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


Responder

Gostei + 0

27/12/2007

Massuda

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.


Responder

Gostei + 0

27/12/2007

Steve_narancic

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


Responder

Gostei + 0

27/12/2007

Steve_narancic

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar