Indy com dbMemo
Boa tarde.
Desenvolvi um programa para envio de piadas, mensagens e outros tipos de texto, onde eu cadastro as piadas em um campo memo, cadastro as pessoas para quem quero mandar os e-mail´s. Até ai tudo bem, o problema é na hora de mandar o e-mails, não que não está mandando, pelo contrário, está certinho.
O problema é que quando mando colocar o campo memo no corpo da menssagem ele sai sem as quebra de linhas, sai como se fosse uma linha só, gostaria de saber como resolver isso.
Meu código:
with smtp do
begin
Host:=TRIM(DM.ADOTable_ConfHOST.Value);
Username:=TRIM(DM.ADOTable_ConfUSERNAME.Value);
Password:=TRIM(DM.ADOTable_ConfPASSAWORD.Value);
Connect();
end;
with IdMessage do
begin
From.Address:=TRIM(DM.ADOTable_ConfADDRESS.Value);
From.Name:=TRIM(DM.ADOTable_ConfNAME.Value);
Recipients.EMailAddresses := TRIM(DM.ADOTable_ContEMail.Value);
Subject := TRIM(DM.ADOTable_Mensgru.Value) + ´ - ´ + TRIM(DM.ADOTable_Menstit.Value);
Body.Clear;
Body.Add(´<html><head></head><body>´);
Body.Add(´<i><font face=´Times New Roman´ size=´4´ color=´#000080´>´);
Body.Add(DM.ADOTable_Mensmen.value);
Body.Add(´</font></i><p>&</p>´);
Body.Add(´<p><font face=´French Script MT´ color=´000080´ size=´6´><i>Atenciosamente</i><br></font>´);
Body.Add(´<font color=´000080´ size=´2´><br><i>Caso&não quiser mais receber estes e-mails favor´);
Body.Add(´</p></body></html>´);
MessageParts.Clear;
end;
SMTP.Send(IdMessage);
SMTP.Disconnect;
Ateciosamente Luciano
Desenvolvi um programa para envio de piadas, mensagens e outros tipos de texto, onde eu cadastro as piadas em um campo memo, cadastro as pessoas para quem quero mandar os e-mail´s. Até ai tudo bem, o problema é na hora de mandar o e-mails, não que não está mandando, pelo contrário, está certinho.
O problema é que quando mando colocar o campo memo no corpo da menssagem ele sai sem as quebra de linhas, sai como se fosse uma linha só, gostaria de saber como resolver isso.
Meu código:
with smtp do
begin
Host:=TRIM(DM.ADOTable_ConfHOST.Value);
Username:=TRIM(DM.ADOTable_ConfUSERNAME.Value);
Password:=TRIM(DM.ADOTable_ConfPASSAWORD.Value);
Connect();
end;
with IdMessage do
begin
From.Address:=TRIM(DM.ADOTable_ConfADDRESS.Value);
From.Name:=TRIM(DM.ADOTable_ConfNAME.Value);
Recipients.EMailAddresses := TRIM(DM.ADOTable_ContEMail.Value);
Subject := TRIM(DM.ADOTable_Mensgru.Value) + ´ - ´ + TRIM(DM.ADOTable_Menstit.Value);
Body.Clear;
Body.Add(´<html><head></head><body>´);
Body.Add(´<i><font face=´Times New Roman´ size=´4´ color=´#000080´>´);
Body.Add(DM.ADOTable_Mensmen.value);
Body.Add(´</font></i><p>&</p>´);
Body.Add(´<p><font face=´French Script MT´ color=´000080´ size=´6´><i>Atenciosamente</i><br></font>´);
Body.Add(´<font color=´000080´ size=´2´><br><i>Caso&não quiser mais receber estes e-mails favor´);
Body.Add(´</p></body></html>´);
MessageParts.Clear;
end;
SMTP.Send(IdMessage);
SMTP.Disconnect;
Ateciosamente Luciano
Lucianogar
Curtidas 0
Respostas
Nerdex
09/05/2004
Caro Luciano;
Pelo que vi vc não está adicionando o conteúdo de um memo no corpo da menssagem, o que vc está fazendo é, inserindo no idMessage linha por linha, um conteúdo HTML... de cada vez... (veja quantos ADDs tens aí...!).
Para inserir de uma vez, todo o conteúdo de um Memo eu faço isto:
// Aqui to usando html para formatar o corpo da mensagem
// Só da certo se o ContentType for igual a ´text/html´
ContentType:=´text/html´;
Body.Add(Memo.Lines.Text);
Acredito que com isto, surtirá efeito na formatação/interpretação do conteúdo HTML como um todo... se não resolver, acho que o critério seria autilização das tags
, para cada linha a ser definida.
Pelo que vi vc não está adicionando o conteúdo de um memo no corpo da menssagem, o que vc está fazendo é, inserindo no idMessage linha por linha, um conteúdo HTML... de cada vez... (veja quantos ADDs tens aí...!).
Para inserir de uma vez, todo o conteúdo de um Memo eu faço isto:
// Aqui to usando html para formatar o corpo da mensagem
// Só da certo se o ContentType for igual a ´text/html´
ContentType:=´text/html´;
Body.Add(Memo.Lines.Text);
Acredito que com isto, surtirá efeito na formatação/interpretação do conteúdo HTML como um todo... se não resolver, acho que o critério seria autilização das tags
, para cada linha a ser definida.
GOSTEI 0
Nerdex
09/05/2004
talvez a ouso da tag <br>... para cada linha
GOSTEI 0
Lucianogar
09/05/2004
Obrigado, mas acho que não consegui me expressar, pois estou sim conseguindo montar o cordo da mensagem, esta tudo certinho, esta indo o e-mail com formação html normar, mas tem um pequeno detalhe.
Quando incluo o DBMemo, campo onde está gravado a mensagem, ele não coloca as quebras de linhas, sai tudo numa linha só.
Mudei o ContentType:=´text/html´;
Tentei gravar o conteudo do campo memo em um TMemo e nada, não sao o bendito enter, ou seja, quanda a pessoa abre o e-mail, o mesmo ve tudo numa única linha. gostaria de saber como resolver isso.
Obrigado
Quando incluo o DBMemo, campo onde está gravado a mensagem, ele não coloca as quebras de linhas, sai tudo numa linha só.
Mudei o ContentType:=´text/html´;
Tentei gravar o conteudo do campo memo em um TMemo e nada, não sao o bendito enter, ou seja, quanda a pessoa abre o e-mail, o mesmo ve tudo numa única linha. gostaria de saber como resolver isso.
Obrigado
GOSTEI 0
Nerdex
09/05/2004
Teste na propriedade WordWrap do memo, true ou false:
Serve p/ habilitar ou não a quebra de linha do memo...
Se não der assim... não tenho mais dicas para te ajudar:
Serve p/ habilitar ou não a quebra de linha do memo...
Se não der assim... não tenho mais dicas para te ajudar:
GOSTEI 0
Eduardo_lcouto
09/05/2004
Não entendo muito bem de HTML, mas nãa tá faltando a tag
a cada nova linha, sei lá coloque a tag na hora de digitar o texto no memo, pois pelo que vi vc não carrega o memo linha a linha não é?
Tem colocar a tag no memo, para ver o que dá.
a cada nova linha, sei lá coloque a tag na hora de digitar o texto no memo, pois pelo que vi vc não carrega o memo linha a linha não é?
Tem colocar a tag no memo, para ver o que dá.
GOSTEI 0
Lucianogar
09/05/2004
Mas como vou fazer para ler parágrafo por parágrafo no campo memo, para poder acrescentar as tag
GOSTEI 0