PDA

Ver la Versión Completa : Enviar mails con imágenes


Val
29-03-2007, 20:08:58
Pues siguiendo con el tema de enviar mails que planteé en Conocer mi DNS (http://www.clubdelphi.com/foros/showthread.php?t=41923) ahora me encuentro con que no logro mandar mails con las imagenes de por medio. Al descargarmelas con el Outlook veo las imágenes, pero estas se ven al final del texto, pero lo que quiero es que aparezcan por el medio, en el lugar que les corresponde.

Me estoy basando en el código de esta web http://homepage1.nifty.com/Exass/soft/indy.htm

Gracias

Val
30-03-2007, 17:33:20
He probado el código que he encontrado en http://www.dragonsoftru.com/articles/indy-email.html#part_3_4 :


var
lMessage: TIdMessage;
lTextPart: TIdText;
lImagePart: TIdAttachment;
begin
// ... some code here to initialize your SMTP server.
// It could be done somewhere as well
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>');
// ... A code to send a message
end;


Pero aunque tengo el archivo como adjunto en el outlook me aparece el tipico cuadradito con una X de que no se encuentra la imagen (he quitado el bloqueo de imagenes...). ¿Alguien sabe a que puede deberse?

Gracias

Val
30-03-2007, 17:52:41
Para quien venga detras... La linea en la que se carga la imagen en lugar de ser
<img src="imagen.jpg">
ha de ser
<img src="cid:imagen.jpg">