Array
(
)

Enviar imagem no corpo email

Josegeraldodeoliveira
   - 23 fev 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>´);
>>>>


Paullsoftware
   - 23 fev 2006

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


Paullsoftware
   - 23 fev 2006


Citação:
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
<<<<<
#Código

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 #Código
<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
#Código
<img src="htmlbodyIMG0000.JPG" >

por essa
#Código

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

o resultado será esse:



Massuda
   - 23 fev 2006

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....#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
);
...