Montei um folder em html agora preciso enviar por email, porem no corpo do email e nao como anexo, estou enviando via indy com delphi 7.
Abs
Abs
Felipeiw
Curtidas 0
Respostas
Massuda
15/03/2006
[url=http://forum.clubedelphi.net/viewtopic.php?t=71932]Este tópico[/url] resolve seu problema?
GOSTEI 0
Felipeiw
15/03/2006
Caro Massuda, neste artigo que vc me passou na epoca eu consegui enviar o email com um arquivo jpg, agora eu preciso enviar um arquivo com extensao html, esse arquivo é montado pelo delphi de acordo com algumas condições escolhidas pelo usuario, nesse html existe alem de textos fotos tb, resumindo eu gostaria de envial no corpo do email esse html, da maneira que ele é visto quando aberto.
Abs
Abs
GOSTEI 0
Massuda
15/03/2006
Talvez eu não tenha entendido seu problema, mas me parece que basta você seguir o item 3.4 do artigo, tomando cuidado de ajustar as tags <img src=...> do seu HTML com os Content-ID de cada anexo que contem a imagem a ser exibida no HTML.
GOSTEI 0
Felipeiw
15/03/2006
Obrigado Massuda, pela atencao.
Ou sou eu que nao estou conseguindo entender sua explicacao, meu caso é o seguinte, tenho que gerar mala direta de aniversario, por exemplo, o pessoal de vendas montam um folder de promocao em jpg, seleciona os aniversariantes, e eu montei um modelo html com um cabeçalho padrao um local para colocar o nome do cliente, um local para o folder em jpg, um local para o rodape, ai conforme o delphi vai passando pelos clientes vou montando esse arquivo html, como segue abaixo, ai eu gostaria de colocar esse arquivo html gerado no corpo do email, eu imaginei que eu poderia passar o endereco de arquivo como faço quando é jpg ( lTextPart.Body.Text := ´<html><body><img src=´c:\email.jpg´ ></body></html>´; ). Nao sei se consegui explicar.
No final eu tenho o arquivo html gerado de acordo com um modelo criado no dreamweaver, simplesmente fui gravando linha a linha os codigos html gerados.
Abs
[/code]
Ou sou eu que nao estou conseguindo entender sua explicacao, meu caso é o seguinte, tenho que gerar mala direta de aniversario, por exemplo, o pessoal de vendas montam um folder de promocao em jpg, seleciona os aniversariantes, e eu montei um modelo html com um cabeçalho padrao um local para colocar o nome do cliente, um local para o folder em jpg, um local para o rodape, ai conforme o delphi vai passando pelos clientes vou montando esse arquivo html, como segue abaixo, ai eu gostaria de colocar esse arquivo html gerado no corpo do email, eu imaginei que eu poderia passar o endereco de arquivo como faço quando é jpg ( lTextPart.Body.Text := ´<html><body><img src=´c:\email.jpg´ ></body></html>´; ). Nao sei se consegui explicar.
Writeln(Arquivo,´<body>´); Writeln(Arquivo,´<div align="center">´); Writeln(Arquivo,´<p><img name="topo" src="c:\cabecalho.jpg" width="570" height="120" alt=""> </p>´); Writeln(Arquivo,´<table width="570" border="0" cellspacing="0" cellpadding="0">´); Writeln(Arquivo,´<tr>´);
No final eu tenho o arquivo html gerado de acordo com um modelo criado no dreamweaver, simplesmente fui gravando linha a linha os codigos html gerados.
Abs
[/code]
GOSTEI 0
Massuda
15/03/2006
Pegando o exemplo do gringo, na parte 3.4 do artigo dele...
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); // costuma-se por aqui uma versão texto (não-HTML) do // texto HTML que você pretende enviar lTextPart.Body.Text := ´This is a plain text message´; lTextPart.ContentType := ´text/plain´; lTextPart := TIdText.Create(lMessage.MessageParts); // aqui vai o seu HTML lTextPart.Body.Text := ´<html><body>´ + ´<b>This is a HTML message with picture</b>´ + // troque seus c:\suaimagem.jpg por um nome "simbólico" ´<img src="htmlbodyIMG0000.JPG" >´ + ´</body></html>´; lTextPart.ContentType := ´text/html´; lImagePart := TIdAttachment.Create(lMessage.MessageParts, // aqui vai o nome de arquivo de sua imagem... ´c:\suaimagem..JPG´); lImagePart.ContentType := ´image/jpg´; // ...e isso associa sua imagem com o símbolo que usou no HTML lImagePart.Headers.Add(´Content-ID: <htmlbodyIMG0000.JPG>´); // ... A code to send a message end;
GOSTEI 0
Felipeiw
15/03/2006
Caro Massuda, ainda nao consegui, a linha lMessage.Body.Text := ´<html><body>This is a HTML message</body></html>´; nessa propriedade como faço para criar varias linhas dessas ai poderei ir criando todo o codigo html dessa forma por exemplo:
Porem nao consigo fazer a quebra de linha, mesmo com #13+10, seria possivel isso?
lTextPart.Body.Text := ´<html><body><b>This is a HTML message</b></body></html>´+#1310+ ´<html><body><b>This is a segundo linha HTML message</b></body></html>´; // ´<html><body><b>This is a quarto linha HTML message</b></body></html>´+13; // ´<html><body><b>This is a quinto linha HTML message</b></body></html>´+13; // ´<html><body><b>This is a sexto linha HTML message</b></body></html>´;
Porem nao consigo fazer a quebra de linha, mesmo com #13+10, seria possivel isso?
GOSTEI 0
Massuda
15/03/2006
Porem nao consigo fazer a quebra de linha, mesmo com #13+10, seria possivel isso?
Quebra de linha em HTML não é 1310, pode ser <br> ou <p>...</p>. Por exemplo, usando <br>...lTextPart.Body.Text := ´<html><body>´ + ´<b>This is a HTML message</b><br>´+ ´<b>This is a segundo linha HTML message</b><br>´ + ´<b>Outra linha HTML</b>´ + ´</body></html>´;
GOSTEI 0
Felipeiw
15/03/2006
Massuda, mt obrigado pela paciencia e atencao, consegui o que eu queria fazendo o seguinte:
Onde o arquivo aniversario eu gero a partir do delphi.
Abs
lTextPart := TIdText.Create(idMsgSend.MessageParts); lTextPart.Body.LoadFromFile(´c:\aniversario.html´); lTextPart.ContentType := ´text/html´;
Onde o arquivo aniversario eu gero a partir do delphi.
Abs
GOSTEI 0