Imagem no corpo do email duplicada - indy 10

17/04/2006

0

Salve pessoal,

Estou tentando enviar uma imagem no corpo do email usando o Delphi 7 e o Indy 10 ... Esta até funcionando blz, o email chega ao destino com a imagem no corpo do email .... O problema é que a imagem esta sendo repetido no final da mensagem ...
Alguem ja passou por isso e sabe como posso resolver ????

Vou postar o codigo:

procedure TForm1.Button1Click(Sender: TObject);
Var
  newText   : TIdText;
  newAttach : TIdAttachment;
  imgID1, imgName1 : String;

begin

   // Endereço e ID das Imagens
   imgName1 := ´D:\Trabalho\Nucleo\logocolor.JPG´;
   imgID1   := CreateUniqueID;

   // Configura o Servidor
   IdSMTP.Username     := ´logon´;
   IdSMTP.Password     := ´senha´;
   IdSMTP.Host         := ´servidor.smtp´;

   // Configura o Remetente da Mensagem
   IdMessage.Clear;
   IdMessage.Subject      := ´Teste de Envio de Mensagem´;
   IdMessage.From.Address := ´remetente@email.com.br´;
   IdMessage.From.Name    := ´Adenilton Rodrigues´;
   IdMessage.Subject      := ´My Subject´;

   // configura os destinatários
   IdMessage.Recipients.Clear;

   IdMessage.Recipients.Add;
   IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Address := ´destinatario@email.com.br´;
   IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Name    := ´Adenilton Rodrigues´;

   // Adiciona o HTML ao corpo da mensagem
   newText := TIdText.Create(IdMessage.MessageParts,nil);
   newText.ContentType := ´text/html´;
   newText.Body.Add(´<HTML><BODY>´);
   newText.Body.Add(´<H2>Teste de Envio de Email HTML Embeded</H2>´);
   newText.Body.Add(´<IMG SRC="cid:´+imgID1+´">´);  // Troca imagens pelo ID unico
   newText.Body.Add(´Este email só será visualizado em padrão HTML´);
   newText.Body.Add(´</BODY></HTML>´);

   // Anexa a primeira imagem
   newAttach := TIdAttachmentFile.Create(IdMessage.MessageParts, imgName1 );
   newAttach.ContentType        := ´image/jpeg´;
   newAttach.ContentDisposition := ´inline´;
   newAttach.ExtraHeaders.Values[´Content-ID´] := ´<´+imgID1+´>´;

   // Envia
   IdSMTP.Connect;
   Try
      if IdSMTP.Connected then Begin
         IdSMTP.Send(IdMessage);
      End
   except
     on e : Exception do ShowMessage( ´erro: ´ + e.Message );
   End;

   ShowMessage( ´Enviado!´ );

end;



Codigo da função:

function TForm1.CreateUniqueID(HexMode: Boolean): String; Var A : Int64; begin a := Trunc(Now*100000000); If HexMode Then Result := IntToHex(a,14) Else Result := IntToStr(a); Sleep(50); end;



Se alguem ai puder me dar uma ajuda ...
Agradecido!


Mmoreira

Mmoreira

Responder

Posts

17/04/2006

Massuda

Não uso Indy 10, mas experimente retirar a linha...
...
newAttach.ContentDisposition := ´inline´;
...
pois ela força o anexo a ser exibido junto com a mensagem.


Responder

17/04/2006

Mmoreira

Massuda,

Eu comentei a linha indicada por vc e mesmo assim o problema continua, vc tem mais alguma dica?


Responder

17/04/2006

Massuda

Isso acontece com diferentes programas para receber email (Outlook, Outlook Express, Firefox, etc)?


Responder

17/04/2006

Mmoreira

Massuda,

Fiz um teste no:

Outlook - o problema ocorre ( a imagem é duplicada )
Outlook Express - o problema ocorre ( a imagem é duplicada )

No webmail - a imagem nao aparece no corpo da imagem mas tenho ela anexada ao email


Responder

17/04/2006

Mmoreira

Só completando

Antes eu usava o indy 9 e fazia assim e funcionava blz:

// Anexa a imagem ao corpo do email newText := TIdText.Create(mensagem.MessageParts); newText.ContentType := ´text/plain´; newAttach := TIdAttachment.Create(mensagem.MessageParts,´logocolor.jpg´); newAttach.ExtraHeaders.Values[´Content-ID´] := ´logocolor.jpg´;


depois q migrei pro indy 10 nao funcionou mais


Responder

17/04/2006

Mmoreira

Problema resolvido
quem quizer os fontes:

http://www.flogas.ie/indy/SampleSmtpFunctions.zip

valewsss


Responder

17/04/2006

Massuda

Problema resolvido
E qual era a causa do problema?


Responder

27/10/2006

Gratao

Como eu faço para pegar esses fontes acima, a pagina não foi encontrada.
Preciso urgente de um exemplo parecido.

Obrigado.


Responder

13/05/2015

Eduardo Mendonça

Como Faço para pegar os fonte i link não funciona Obrigado
Responder

28/12/2022

Vinicius David

Olá, tudo bem?

Também estou fazendo um sistema que encaminha a imagem no corpo do e-mail, porém está indo no email com um quadrado escrito OBJETO.
@MMoreira, consegue encaminhar seu fonte para eu ver onde estou errando?

Responder

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

Aceitar