Enviar imagem no corpo email

23/02/2006

Ola pessoal,
Apesar da excelente dica do Massuda, não consegui alterar, nos locais devidos, o caminho para buscar a imagem no meu proprio micro, conforme exemplo abaixo:

Desculpe-me pela ignorancia,

Desde já agradeço.

Geraldo
<<<<<
lMessage := TIdMessage.Create(Self);
lMessage.From.Address := ´myemail@mydomain.com´;
lMessage.Subject := ´My test email´;
lMessage.Recipients.Add.Address := ´someoneemail@somedomain.com´;
lMessage.Body.Clear;
lTextPart := TIdText.Create(lMessage.MessageParts);
lTextPart.Body.Text := ´This is a plain text message´;
lTextPart.ContentType := ´text/plain´;
lTextPart := TIdText.Create(lMessage.MessageParts);
lTextPart.Body.Text := ´<html><body><b>This is a HTML message with picture</b><img src=´htmlbodyIMG0000.JPG´ ></body></html>´;
lTextPart.ContentType := ´text/html´;
lImagePart := TIdAttachment.Create(lMessage.MessageParts, ´htmlbodyIMG0000.JPG´);
lImagePart.ContentType := ´image/jpg´;
lImagePart.Headers.Add(´Content-ID: <htmlbodyIMG0000.JPG>´);
>>>>


Josegeraldodeoliveira

Respostas

23/02/2006

Paullsoftware

como está o Path (Caminho) da imagem carregada na TAG html
<img src=caminho_da_image.jpg/gif/png>
???


Responder Citar

23/02/2006

Paullsoftware

Ola pessoal, Apesar da excelente dica do Massuda, não consegui alterar, nos locais devidos, o caminho para buscar a imagem no meu proprio micro, conforme exemplo abaixo: Desculpe-me pela ignorancia, Desde já agradeço. Geraldo <<<<<
  lMessage := TIdMessage.Create(Self);
  lMessage.From.Address := ´myemail@mydomain.com´;
  lMessage.Subject := ´My test email´;
  lMessage.Recipients.Add.Address := ´someoneemail@somedomain.com´;
  lMessage.Body.Clear;
  lTextPart := TIdText.Create(lMessage.MessageParts);
  lTextPart.Body.Text := ´This is a plain text message´;
  lTextPart.ContentType := ´text/plain´;
  lTextPart := TIdText.Create(lMessage.MessageParts);
  lTextPart.Body.Text := ´<html><body><b>This is a HTML message with picture</b><img src="htmlbodyIMG0000.JPG" ></body></html>´;
  lTextPart.ContentType := ´text/html´;
  lImagePart := TIdAttachment.Create(lMessage.MessageParts, ´htmlbodyIMG0000.JPG´);
  lImagePart.ContentType := ´image/jpg´;
  lImagePart.Headers.Add(´Content-ID: <htmlbodyIMG0000.JPG>´);
>>>>


desculpa pela trapalhada na resposta anterior...

é que não visulizei a respota antes de postar....

verifique a TAG Html
<img src="caminho_da_imagem"> 
tem que ser o endereço correto de onde está a imagem...
tente usar esse, estando conectado com internet!
mude essa linha
<img src="htmlbodyIMG0000.JPG" >

por essa
<img src=http://www.devmedia.com.br/sqlmagazine/capa_atual.jpg>

o resultado será esse:



Responder Citar

23/02/2006

Massuda

O TIdAttachment.Create deve receber o nome do arquivo na sua máquina.

No HTML vai um ´nome simbólico´ que deve ser associado à imagem usando um cabeçalho Content-ID, como feito na última linha do seu código....
...
  lTextPart.Body.Text := ´<html><body>´ +
    ´<b>This is a HTML message with picture</b>´ +
    ´<img src="htmlbodyIMG0000.JPG" >´ + // <-- nome simbólico
    ´</body></html>´;
...
  lImagePart := 
    TIdAttachment.Create(
      lMessage.MessageParts, 
      ´c:\path\para\a\imagem.jpg´ // <--- nome do arquivo
    );
  lImagePart.ContentType := ´image/jpg´;
  lImagePart.Headers.Add(
    ´Content-ID: <htmlbodyIMG0000.JPG>´ // <-- nome simbólico
  );
...



Responder Citar