Erro no envio de E-mail com Anexo no Delphi 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);
- 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
Curtidas 0
Respostas
Steve_narancic
27/12/2007
linhas em negrito:
[b:21b1a4b8c2]anexo:= TIdAttachment.Create(idmessage.MessageParts);
Anexo.FileName := ´c:\proforma.pdf´;[/b:21b1a4b8c2]
[b:21b1a4b8c2]anexo:= TIdAttachment.Create(idmessage.MessageParts);
Anexo.FileName := ´c:\proforma.pdf´;[/b:21b1a4b8c2]
GOSTEI 0
Massuda
27/12/2007
Acho que o correto seria...
.... TIdAttachment.Create(idmessage.MessageParts, ´c:\proforma.pdf´); ...
GOSTEI 0
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
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......e inclua no uses a unit IdAttachmentFile.
.... TIdAttachmentFile.Create(idmessage.MessageParts, ´c:\proforma.pdf´); ...
GOSTEI 0
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
27/12/2007
Existe algum outro cuidado a ser tomado? pois o anexo não esta sendo enviado!
GOSTEI 0