Mudar Fonte em Email (Indy)
Olá amigos,
Gostaria de saber como posso mudar a fonte utilizada no corpo do email enviado pelo par de componentes IdMessage e IdSMTP.
Obrigado.
Gostaria de saber como posso mudar a fonte utilizada no corpo do email enviado pelo par de componentes IdMessage e IdSMTP.
Obrigado.
Ramms
Curtidas 0
Respostas
Massuda
18/10/2006
Se a sua mensagem está formatada em HTML, use o recurso apropriado do HTML para ajuste do fonte.
Se sua mensagem é texto simples, não tem como ajustar o fonte; quem controla isso é o programa usado por quem recebe o email.
Se sua mensagem é texto simples, não tem como ajustar o fonte; quem controla isso é o programa usado por quem recebe o email.
GOSTEI 0
Ramms
18/10/2006
Massuda, enquanto não obtive resposta continuei pesquisando, estou tentando em HTML, mas não obtenho exito, vou postar o código:
Ele envia o email, mas não aparece nada no corpo da mensagem, se eu enviar IdMessage.Body.Text := ´ehuiaheuia´; ele vai mas não aceita tags, ele imprime as tags...
Obrigado
procedure Tfrmexportadados.BitBtn4Click(Sender: TObject); var assunto:string; filename:string; mensagem:string; lTextPart: TIdText; begin filename := ´Remessa_´ + FormatDateTime(´ddMMyyyyhhmm´, Now); IdMessage.Sender.Name := ´Serviço de Envio de Arquivos de Remessa´; IdMessage.Recipients.EMailAddresses := ´xxx@xxxx.xxx.xx´; assunto := ´Arquivo de Remessa: ´ + FormatDateTime(´dd/MM/yyyy - hh:mm´, Now); IdMessage.Subject := assunto; IdMessage.Body.Clear; mensagem := ´<html><body><font face=verdana>Arquivo Enviado em ´ + FormatDateTime(´dd/MM/yyyy - hh:mm´, Now) + #13 + ´Por: ´ + frmprincipal.edit1.text + 13 + ´Nome do Arquivo: ´ + filename + ´</font></body></html>´; lTextPart := TIdText.Create(idmessage.MessageParts); lTextPart.Body.Text := mensagem; lTextPart.ContentType := ´text/html´; TIdAttachment.create(idmessage.MessageParts, TFileName(filename+´.xls´)); IdSMTP.Connect; IdSMTP.Send(IdMessage); IdSMTP.Disconnect; Application.MessageBox(´Email enviado com sucesso!´, ´Confirmação´, MB_ICONINFORMATION + MB_OK);
Ele envia o email, mas não aparece nada no corpo da mensagem, se eu enviar IdMessage.Body.Text := ´ehuiaheuia´; ele vai mas não aceita tags, ele imprime as tags...
Obrigado
GOSTEI 0
Massuda
18/10/2006
Dê uma olhada no artigo [url=http://www.dragonsoftru.com/?html=indy-email.html]EMAIL MESSAGES FROM DELPHI. USING INDY TO SEND E-MAILS[/url] (de Serge Dosyukov da Dragon Software, em inglês). O artigo explica como gerar diversos tipos de mensagens (texto simples, texto simples com anexos, HTML e HTML com anexos); a parte 3.3 explica como gerar uma mensagem formatada em HTML. Mesmo que você não leia inglês, o código exemplo deve te ajudar.
GOSTEI 0
Ramms
18/10/2006
Massuda eu montei meu bloco de comandos em cima desse artigo, mas não consigo entender pq simplesmente não envia nada no corpo da mensagem =/
Eu li e re-li akilo e não achei o problema
Eu li e re-li akilo e não achei o problema
GOSTEI 0
Massuda
18/10/2006
Qual erro está ocorrendo?
GOSTEI 0
Ramms
18/10/2006
Não ocorre erro, ele simplesmente ignora isso
É como se isso não existisse, ele não envia nada na mensagem ela vai com meu anexo vai tudo certinho mas sem o corpo da mensagem.
se eu fizer assim ele envia
Mas ele printa as tags html tbm =/
mensagem := ´<html><body><font face=verdana>Arquivo Enviado em ´ + FormatDateTime(´dd/MM/yyyy - hh:mm´, Now) + #13 + ´Por: ´ + frmprincipal.edit1.text + 13 + ´Nome do Arquivo: ´ + filename + ´</font></body></html>´; lTextPart := TIdText.Create(idmessage.MessageParts); lTextPart.Body.Text := mensagem; lTextPart.ContentType := ´text/html´;
É como se isso não existisse, ele não envia nada na mensagem ela vai com meu anexo vai tudo certinho mas sem o corpo da mensagem.
se eu fizer assim ele envia
IdMessage.Body.Text := mensagem;
Mas ele printa as tags html tbm =/
GOSTEI 0
Massuda
18/10/2006
Mostre seu código.
GOSTEI 0
Ramms
18/10/2006
ele está ali em cima massuda, no terceiro post....
mas vou postar de novo
mas vou postar de novo
procedure Tfrmexportadados.BitBtn4Click(Sender: TObject); var assunto:string; filename:string; mensagem:string; lTextPart: TIdText; begin filename := ´Remessa_´ + FormatDateTime(´ddMMyyyyhhmm´, Now); IdMessage.Sender.Name := ´Serviço de Envio de Arquivos de Remessa´; IdMessage.Recipients.EMailAddresses := ´xxx@xxxx.xxx.xx´; assunto := ´Arquivo de Remessa: ´ + FormatDateTime(´dd/MM/yyyy - hh:mm´, Now); IdMessage.Subject := assunto; IdMessage.Body.Clear; mensagem := ´<html><body><font face=verdana>Arquivo Enviado em ´ + FormatDateTime(´dd/MM/yyyy - hh:mm´, Now) + #13 + ´Por: ´ + frmprincipal.edit1.text + 13 + ´Nome do Arquivo: ´ + filename + ´</font></body></html>´; lTextPart := TIdText.Create(idmessage.MessageParts); lTextPart.Body.Text := mensagem; lTextPart.ContentType := ´text/html´; TIdAttachment.create(idmessage.MessageParts, TFileName(filename+´.xls´)); IdSMTP.Connect; IdSMTP.Send(IdMessage); IdSMTP.Disconnect; Application.MessageBox(´Email enviado com sucesso!´, ´Confirmação´, MB_ICONINFORMATION + MB_OK);
GOSTEI 0
Massuda
18/10/2006
Desculpe por pedir para mostrar o código, pensei que seu código já estivesse diferente do que você já tinha postado.
Aparentemente o código está OK.
O que chega no destino? Tem certeza que o email não está sendo classificado como spam?
Aparentemente o código está OK.
O que chega no destino? Tem certeza que o email não está sendo classificado como spam?
GOSTEI 0
Ramms
18/10/2006
ele chega com o assunto, remetente e anexo certinho, só que na mensagem vem em branco... sem texto nenhum...
GOSTEI 0
Massuda
18/10/2006
Só agora que percebi que você está mandando um arquivo anexo na mensagem.
Pode parecer estranho, mas inclua no seu código...Existe um bug no Indy que causa a perda da parte da mensagem em HTML se não existir uma parte em texto e houver anexos.
Pode parecer estranho, mas inclua no seu código...
... IdMessage.Body.Clear; lTextPart := TIdText.Create(idmessage.MessageParts); lTextPart.Body.Text := ´´; lTextPart.ContentType := ´text/plain´; mensagem := ... ...
GOSTEI 0
Ramms
18/10/2006
Finalmente funcionou, obrigado Massuda.
Na versão 10 esse bug foi corrigido?
Na versão 10 esse bug foi corrigido?
GOSTEI 0
Massuda
18/10/2006
Na versão 10 esse bug foi corrigido?
Não uso a versão 10.GOSTEI 0