Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar email em html com um anexo em pdf


Mario Lopes

Pergunta

Boa tarde

Estou a usar um código delphi para enviar uma mensagem mas gostaria de enviar o texto em html com um anexo em pdf. Não consigo. A mensagem aparece formatada em html mas o anexo que é pdf vem com uma série de letras e números. Em resumo como colocar a mensagem em html e o anexo em pdf? (no Indy 10 como funciona o contentType?)

Eis o código.

//idmessage1.ContentType:='text/html' ;
idMessage1.CharSet   := 'ISO-8859-1' ;
label4.Caption:=query1.FieldByName('numero_recibo').AsString ;
IdSMTP1.Username := 'xxxx@dsdsd';
IdSMTP1.Password := 'xxxxx';
IdSMTP1.Connect;
IdSMTP1.Authenticate;
IdMessage1.From.Address := 'xxxx.x@sdsd';
IdMessage1.From.Name    := 'Escolinha';
IdMessage1.Recipients.Clear;
IdMessage1.Recipients.EMailAddresses := 'xxx@xxx';
IdMessage1.Subject := 'A Escolinha - Recibo do Mês ';
IdMessage1.Body.Text :='<html><br>ola<br>está tudo bem ou não?<b>tudo ok</b></html>';
TIdAttachmentFile.Create(idmessage1.MessageParts, label2.caption);
IdSMTP1.Send (idMessage1);
idmessage1.Clear;
idsmtp1.Disconnect();

Alguém ajuda?

Cumprimentos.

Mário

Editado por Mario Lopes
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Boa noite Jhonas

Na verdade eu já tinha pesquisado, mas sem sorte. O problema é que quando envio uma mensagem com pdf obtenho algo como

This is a multi-part message in MIME format --63FEEhaiYJN2CCws=_LGaGNjr7kudkN8xX Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Teste ao Envio
Este =E9 um teste ao envio --63FEEhaiYJN2CCws=_LGaGNjr7kudkN8xX Content-Type: application/pdf; name="1Janeiro.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="1Janeiro.pdf" JVBERi0xLjMNCjEgMCBvYmoNCjw8IC9DcmVhdG9yIDw+DQovQ3JlYXRpb25EYXRlIDw0NDNhMzIz MDMxMzMzMDM5MzIzMzMyMzMzMDM1MzMzOT4NCi9UaXRsZSA8Pg0KL0F1dGhvciA8Pg0KL1Byb2R1 Y2VyIDw1MjY1NzA2ZjcyNzQ0Mjc1Njk2YzY0NjU3Mj4NCi9LZXl3b3JkcyA8Pg0KL1N1YmplY3Qg PD4gPj4NCmVuZG9iag0KMiAwIG9iag0KWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDXQ0KZW5k b2JqDQozIDAgb2JqDQo8PCAvVHlwZSAvRXh0R1N0YXRlDQovU0EgdHJ1ZQ0KPj4NCmVuZG9iag0K NCAwIG9iag0KPDwgL1R5cGUgL0NhdGFsb2cNCi9QYWdlcyA1IDAgUg0KPj4NCmVuZG9iag0KNiAw

O meu código é:

var IdAttachmentFile : TIdAttachmentFile;
begin
idMessage1.CharSet := 'ISO-8859-1' ;
idmessage1.ContentType:='text/html' ;
IdSMTP1.Username := 'xxxx';
IdSMTP1.Password := 'xxxxx';
IdSMTP1.Connect;
IdSMTP1.Authenticate;
IdMessage1.From.Address := 'xxxxx';
IdMessage1.From.Name := 'Escolinha';
IdMessage1.Recipients.Clear;
IdMessage1.Recipients.EMailAddresses := 'xxxxx';
IdMessage1.Subject := 'A Escolinha - Recibo do Mês ';
IdMessage1.Body.Assign( memo1.Lines );
with IdAttachmentFile do
begin
IdAttachmentFile := TIdAttachmentFile.Create(IdMessage1.MessageParts, label2.Caption);
IdAttachmentFile.ContentType:= 'application/pdf;';
end;
Application.ProcessMessages;
IdSMTP1.Send (idMessage1);
idmessage1.Clear;
idsmtp1.Disconnect();
A resposta mais próxima que obtive foi http://www.devmedia.com.br/forum/envio-de-email-com-anexos-indy-delphi-2007/410819 mas obtive erro. Não reconhece
idMessage1.Encoding:=meUU;

mas reconhece

IdMessage1.Encoding := meMIME; 

Como sair desta?

Delphi 2010 e Indy 10

Editado por Mario Lopes
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...