cracher 0 Denunciar post Postado Outubro 9, 2007 Ola a todos. Estava fazendo um esquema para mandar e-mail para meu sistema de uma revista onde ela mandaria a capa juntamente com o corpo, no caso html. Para enviar tudo bem todos os provedores a seguir receberam : gmail, hotmail, terra, uol, ig, ibest Porem quando acoplei a imagem o que acontece o seguinte: Pelo Outlook E pelo e-mail como não pode ser visualizado, pois somente por html ele cria varios anexos inclusive uns de texto como a imagem abaixo (teste feito pelo ig) O Imagem do form é a seguinte E o Codigo segue abaixo : procedure TForm1.Button1Click(Sender: TObject); var imgID1, imgName1 : String; imgID2, imgName2 : String; newText : TIdText; sPath : String; newAttach : TIdAttachment; begin // Endereço e ID das Imagens imgName1 := 'c:\mail\imagem1.jpg'; imgID1 := CreateUniqueID; // Campos de e-mail a serem enviados IdMessage.Recipients.EMailAddresses := ePara.Text; IdMessage.CCList.EMailAddresses := eCC.Text; IdMessage.BccList.EMailAddresses := eCCO.Text; //Trata a Prioridade da mensagem case cbxPrioridade.ItemIndex of 0 : IdMessage.Priority := mpHigh; 1 : IdMessage.Priority := mpNormal; 2 : IdMessage.Priority := mpLow; end; IdMessage.Subject := eAssunto.Text; IdMessage.Body:= mMensagem.Lines; if cbxConfirma.Checked then IdMessage.ReceiptRecipient.Text := IdMessage.From.Text; // Auto Resposta // 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(mMensagem.Lines.Text); newText.Body.Add('<IMG SRC="cid:'+imgID1+'">'); // Troca imagens pelo ID unico newText.Body.Add('</BODY><HTML>'); // Adiciona uma parte texto ao corpo newText := TIdText.Create(IdMessage.MessageParts,nil); newText.ContentType := 'text/plain'; newText.Body.Add('Este email só será visualizado em padrão HTML'); // Anexa a primeira imagem newAttach := TIdAttachment.Create(IdMessage.MessageParts,imgName1); newAttach.ContentType := 'image/jpeg'; newAttach.ContentDisposition := 'inline'; newAttach.ExtraHeaders.Values['Content-ID'] := '<'+imgId1+'>'; // Envia IdSMTP.Connect; try IdSMTP.Send(IdMessage); finally IdSMTP.Disconnect; end; Application.MessageBox('Email enviado com sucesso!', 'Confirmação', MB_ICONINFORMATION + MB_OK); Caso alguem possa me ajudar agradeço desde ja Para contato meu e-mail é cracher@ibest.com.br Agradeço a todos Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 9, 2007 Melhor para fazer é hospedar a imagem no seu servidor, colocar o link da imagem em formato html no corpo do texto, assim não vai nenhum anexo, evitando este tipo de problema, pelo menos foi a forma que encontramos aqui para resolver este tipo de problema.... Compartilhar este post Link para o post Compartilhar em outros sites
cracher 0 Denunciar post Postado Outubro 9, 2007 Marcio Teria como você passar-me um exemplo e onde eu alteraria no meu codigo?Pois to jeito que você esta falando quer dizer que todo mês terei que mudar o link da imagem no caso? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 9, 2007 Acredito que no fonte não precise mudar em nada, apenas terá de digitar em código html o e-mail. Se quiser, pode ver este exemplo de envio de e-mail... No caso se você recebe e-mail de alguma empresa de venda on-line, pode ver o código fonte dos e-mails deles, é tudo imagens hospedadas, para evitar este tipo de problema, e para também ficar mais leve o mail... Compartilhar este post Link para o post Compartilhar em outros sites
cracher 0 Denunciar post Postado Outubro 9, 2007 Obrigado vou dar uma olhada e fazer uns testesGratoHa ja ia esquecendo e no caso da imagem aparecer ao lado do texto como eu faria para aparecer embaixo tem alguncomando que devo usar para quebrar as linhas??? Onde eu usaria e como??? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 9, 2007 Certo, faz os testes e se conseguir, dê um retorno de como ficou... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
cracher 0 Denunciar post Postado Outubro 9, 2007 Marcio.TheisCara nem consegui ta f*** :( Mas aconteceu algo estranho tbm, tipo pus o link da imagem no corpo do e-mail onde eu digito a mensagem ola aii coloquei o linkAi ele buscou a imagem da pasta do qual e mando buscar e escreveu ola o link da imagem e mostrou a imagem da pasta e sem anexo no e-mail Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 9, 2007 Como você escreveu o mail ? Precisa ser em html... Você tem no fonte a seguinte linha: newText.Body.Add('<IMG SRC="cid:'+imgID1+'">'); // Troca imagens pelo ID unicoTeria de remover, e você digitar no e-mail: <IMG SRC="http://www.site.com/imagem.gif"> Compartilhar este post Link para o post Compartilhar em outros sites
cracher 0 Denunciar post Postado Outubro 9, 2007 Marcio.Theis Cara tava tentando fazer os testes mas aii nem consegui terminar pq agora esta dando este erro : Sabe o que poderia ser??? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 9, 2007 No momento não sei mesmo... Faz um teste com este exemplo e veja se funciona... Compartilhar este post Link para o post Compartilhar em outros sites
cracher 0 Denunciar post Postado Outubro 10, 2007 Marcio.Theis Cara vi seu exemplo muito fera atraves dele consegui fazer o meu aqui e graças a sua ajudar tbm Obrigado Mas estou com uma duvida sobre seu exemplo. Quando abro o projeto no delphi da este erro O que esta faltando??? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 10, 2007 Bom, depende da versão do Indy que esta usando, no caso ele lhe informa que uma propriedade não existe...Teria de atualizar o Indy para a versão que informo no exemplo, ou então clicar em Ignorar....Que bom que gostou do exemplo :D Compartilhar este post Link para o post Compartilhar em outros sites
cracher 0 Denunciar post Postado Outubro 10, 2007 Marcio.TheisNossa muito bom e foi muito util para que que pudesse fazer o meu...Obrigado pelas ajudasOtima semanaAbraços Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 10, 2007 Certo... :DPrecisando posta aqui :P Compartilhar este post Link para o post Compartilhar em outros sites