Imagem no corpo do email duplicada - indy 10
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:
Codigo da função:
Se alguem ai puder me dar uma ajuda ...
Agradecido!
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
Curtidas 0
Respostas
Massuda
17/04/2006
Não uso Indy 10, mas experimente retirar a linha...pois ela força o anexo a ser exibido junto com a mensagem.
... newAttach.ContentDisposition := ´inline´; ...
GOSTEI 0
Mmoreira
17/04/2006
Massuda,
Eu comentei a linha indicada por vc e mesmo assim o problema continua, vc tem mais alguma dica?
Eu comentei a linha indicada por vc e mesmo assim o problema continua, vc tem mais alguma dica?
GOSTEI 0
Massuda
17/04/2006
Isso acontece com diferentes programas para receber email (Outlook, Outlook Express, Firefox, etc)?
GOSTEI 0
Mmoreira
17/04/2006
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
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
GOSTEI 0
Mmoreira
17/04/2006
Só completando
Antes eu usava o indy 9 e fazia assim e funcionava blz:
depois q migrei pro indy 10 nao funcionou mais
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
GOSTEI 0
Mmoreira
17/04/2006
Problema resolvido
quem quizer os fontes:
http://www.flogas.ie/indy/SampleSmtpFunctions.zip
valewsss
quem quizer os fontes:
http://www.flogas.ie/indy/SampleSmtpFunctions.zip
valewsss
GOSTEI 0
Massuda
17/04/2006
Problema resolvido
E qual era a causa do problema?GOSTEI 0
Gratao
17/04/2006
Como eu faço para pegar esses fontes acima, a pagina não foi encontrada.
Preciso urgente de um exemplo parecido.
Obrigado.
Preciso urgente de um exemplo parecido.
Obrigado.
GOSTEI 0
Eduardo Mendonça
17/04/2006
Como Faço para pegar os fonte i link não funciona Obrigado
GOSTEI 0
Vinicius David
17/04/2006
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?
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?
GOSTEI 0