Terça-feira, Novembro 16, 2004

Enviando mensagens com imagens em anexo

Para se enviar uma mensagem html com os componentes Indy basta usar a propriedade ContentType de TIdMessage, configurando-a para text/html.
Quando se quer mandar uma imagem nesta mensagem, uma maneira que pode ser usada é colocar um link externo para ela: <img src="http://www.meusite.com/imagem.jpg">.
Isto, além de gerar um tráfego desnecessário no site, tende a ser desabilitado nos mailers, por ser um risco de segurança. Outra maneira é embutir a imagem na mensagem como anexo e ligar o link a ela.
Porém, como fazer isso ? Qual é o link para a mensagem anexa ?
Este link é dado pelo Content-Id da imagem. Ao chamar o link para a imagem, faz-se algo como <img src="cid:minhaimagem">. minhaimagem é o content-id da imagem, que é definido quando colocamos a mensagem como anexo:



Imagem := TIdAttachment.Create(MessageParts,
'c:\windows\cafezinho.bmp');
// Aqui estou preenchendo o Content-ID
Imagem.ExtraHeaders.Values['Content-ID'] := '<minhaimagem>';
Imagem.ContentType := 'image/jpeg';

Desta maneira, a imagem vai na mensagem e é aberta sem problemas.

3 Comentários:

At 5:09 PM, Anonymous Anônimo disse...

Olá, meu nome é Márcio e usei sua dica, ficou filé, mas agora quero enviar 2 imagens, pode me ajudar.
Não ta dando certo não, já tentei várias formas.
Muito obrigado
Favor enviar a resposta para: marciolbp@hotmail..com
meu site: www.controlesdelphi.info

 
At 8:17 AM, Anonymous Anônimo disse...

Pois é Bruno, acho que vou ter que fazer isso mesmo, criar um novo TIdAttachment e ContentId, tinha isso em mente, mas ai se eu criar 10 ContentId o programa fia limitado a 10 imagens.
Vou ver se consigo, muito obrigado por me responder.
Grande abraço.

 
At 7:19 PM, Anonymous Anônimo disse...

Neste Site tem a solução para enviar vários anexos, bem simples!
Aí vai o link:
http://www.condetech-brasil.com (procure em Artigos!)

ou tente direto aqui: http://rguilemond.wordpress.com/2009/03/29/enviar-email-com-anexo-pelo-delphi-2009/

 

Postar um comentário

<< Home