Ir para conteúdo
  • Cadastre-se

dev botao

ACBRmail em Html


raosistemas
  • Este tópico foi criado há 1938 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

estou tentando fazer um envio em html, porém ao receber a mensagem ela aparece desse forma em meu outlook:

aparentemente intercala um caracter com um espaço! e não vem em html.

< s t y l e > # c u s t o m e r s { f o n t - f a m i l y : " T r e b u c h e t M S " , A r i a l , H e l v e t i c a , s a n s - s e r i f ; w i d t h : 1 0 0 % ; b o r d e r - c o l l a p s e : c o l l a p s e ; } # c u s t o m e r s t d , # c u s t o m e r s t h { f o n t - s i z e : 0 . 7 e m ; b o r d e r : 1 p x s o l i d # 9 8 b f 2 1 ; p a d d i n g : 3 p x 7 p x 2 p x 7 p x ; } # c u s t o m e r s t h { f o n t - s i z e : 1 e m ; t e x t - a l i g n : l e f t ; p a d d i n g - t o p : 5 p x ; p a d d i n g - b o t t o m : 4 p x ; b a c k g r o u n d - c o l o r : # A 7 C 9 4 2 ; c o l o r : # f f f f f f ; } # c u s t o m e r s t r . a l t t d { c o l o r : # 0 0 0 0 0 0 ; b a c k g r o u n d - c o l o r : # E A F 2 D 3 ; } < / s t y l e > < t a b l e i d = " c u s t o m e r s " > < T R > < t h c o l s p a n = 2 > N o t a f i s c a l E l e t r ô n i c a - N F - e < / t h > < / t r > < T R > < t h c o l s p a n = 2 > E m i t i d a p o r B E R G O E A L V E S I N F O R M A T I C A M E < / t h > < / t r > < T R > < t h c o l s p a n = 2 > C h a v e : O m i t i d a p o r q u e s t õ e s d e S e g u r a n ç a < / t h > < / t r > < T R c l a s s = " a l t " > < T d w i d t h = " 3 0 % " > N o t a F i s c a l N ú m e r o < / t d > < t d > < b > 0 0 5 3 6 3 < / b > < / t d > < / t r > < T R c l a s s = " a l t " > < T d > D a t a d e E m i s s ã o < / t d > < t d > < b > 0 9 / 1 2 / 2 0 1 5 < / b > < / t d > < / t r > < T R c l a s s = " a l t " > < T d > E m i t i d a p a r a o c l i e n t e < / t d > < t d > < b > J B T C O M P O N E N T E S E L E T R O N I C O S L T D A < / t d > < / t r > < / b > < T R c l a s s = " a l t " > < T d > C . N . P . J . d o C l i e n t e < / t d > < t d > < b > * * * * * * * * * * * * * * ( S e n h a d o A r q u i v o . Z I P ) < / t d > < / t r > < / b > < T R c l a s s = " a l t " > < T d > t o t a l d a N o t a F i s c a l < / t d > < t d > R $ 1 9 2 , 2 1 < / t d > < / t r > < T R c l a s s = " a l t " > < T d > N o t a F i s c a l e m i t i d a p o r < / t d > < t d > B E R G O E A L V E S I N F O R M A T I C A M E < / t d > < / t r > < T R c l a s s = " a l t " > < T d > C . N . P . J . d o E m i t e n t e < / t d > < t d > 0 8 4 4 9 0 8 0 0 0 0 1 7 9 < / t d > < / t r > < T R c l a s s = " a l t " > < T d > f o n e d o E m i t e n t e < / t d > < t d > 1 1 3 3 3 7 5 8 7 8 < / t d > < / t r > < / t a b l e > < b r > A r q u i v o e n v i a d o e m c a r a t e r d e t e s t e . < B r > < b r > E m a i l E n v i a d o a u t o m a t i c a m e n t e p e l o S i s t e m a R A O . < b r > D e s e n v o l v i d o p o r w w w . r a o s i s t e m a s . c o m . b r

Link para o comentário
Compartilhar em outros sites

procedure TForm1.PNGButton2Click(Sender: TObject);
var
 vaux, Para : String;
 CC, Evento: Tstrings;
 t:Integer;
begin
mostraaguarde;
cli.findkey([notascliente.value]);

if cbemailcompacta.Checked then vaux:='Omitida por questões de Segurança' else vaux:= Copy(notasnfe_chave.Value, 4, 44);
memo1.Lines.Clear;

    if (cbhtml.Checked) or (cbemailcompacta.Checked) then begin
        Memo1.Lines.Add('<style> #customers {font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; width: 100%; border-collapse: collapse;}'+
                        '#customers td, #customers th {font-size: 0.7em; border: 1px solid #98bf21; padding: 3px 7px 2px 7px;}'+
                        '#customers th {font-size: 1em; text-align: left; padding-top: 5px; padding-bottom: 4px; background-color: #A7C942; color: #ffffff;}'+
                        '#customers tr.alt td {color: #000000; background-color: #EAF2D3;} </style>'+
                        '<table id="customers">'+
                        '<TR><th colspan=2>Nota fiscal Eletrônica - NF-e</th></tr>'+
                        '<TR><th colspan=2>Emitida por '+edtemitrazao.Text+'</th></tr>'+
                        '<TR><th colspan=2>Chave: '+vaux+'</th></tr>');

        memo1.lines.add('<TR class="alt"><Td width="30%">Nota Fiscal Número</td><td><b>'+
                        copy(formatfloat('0000000',notascodnota.Value),2,6)+'</b></td></tr>');
        memo1.lines.add('<TR class="alt"><Td>Data de Emissão</td><td><b>'+
                        formatdatetime('dd/mm/yyyy',notasdataemiss.Value)+'</b></td></tr>');
        memo1.lines.add('<TR class="alt"><Td>Emitida para o cliente</td><td><b>'+
                        notasdescricaocliente.Value+'</td></tr></b>');

        if cbemailcompacta.Checked then begin
        memo1.lines.add('<TR class="alt"><Td>C.N.P.J. do Cliente</td><td><b>'+
                        '************** (Senha do Arquivo .ZIP)'+'</td></tr></b>');
        end
        else begin
        memo1.lines.add('<TR class="alt"><Td>C.N.P.J. do Cliente</td><td><b>'+
                        clicnpj.Value+'</td></tr></b>');
        end;

        memo1.lines.add('<TR class="alt"><Td>total da Nota Fiscal</td><td>'+
                        'R$ '+formatfloat('###,###,##0.00',notasTOTAL_NOTA.value)+'</td></tr>');
        memo1.lines.add('<TR class="alt"><Td>Nota Fiscal emitida por</td><td>'+
                        edtEmitRazao.text+'</td></tr>');
        memo1.lines.add('<TR class="alt"><Td>C.N.P.J. do Emitente</td><td>'+
                        edtemitcnpj.Text+'</td></tr>');
        memo1.lines.add('<TR class="alt"><Td>fone do Emitente</td><td>'+
                        edtEmitfone.text+'</td></tr></table><br>');
        for t := 0 to mmEmailMsg.Lines.Count - 1 do
        Memo1.lines.Add(mmEmailMsg.Lines[t]+'<Br>');
        memo1.Lines.Add('<br>');
        Memo1.Lines.Add('Email Enviado automaticamente pelo Sistema RAO.<br>');
    end
    else begin
        Memo1.Lines.Add('Nota Fiscal Eletrônica - NF-e');
        Memo1.Lines.Add('');
        Memo1.Lines.Add('Emitida por '+edtemitrazao.Text);
        Memo1.Lines.Add('Chave: '+vaux);
        Memo1.Lines.Add('Nota Fiscal Número: '+copy(formatfloat('0000000',notascodnota.Value),2,6));
        Memo1.Lines.Add('Data de Emissão: '+formatdatetime('dd/mm/yyyy',notasdataemiss.Value));
        Memo1.Lines.Add('total da Nota Fiscal: R$ '+formatfloat('###,###,##0.00',notasTOTAL_NOTA.value));
        Memo1.Lines.Add('');
        for t := 0 to mmEmailMsg.Lines.Count - 1 do
        Memo1.lines.Add(mmEmailMsg.Lines[t]);
        Memo1.Lines.Add('');
        Memo1.Lines.Add('Email Enviado automaticamente pelo Sistema RAO.');
    end;
  memo1.Lines.Add('Desenvolvido por www.raosistemas.com.br');

  para:=LowerCase(cliemail2.Value);

  if not(InputQuery('Enviar Email', 'Email de destino', Para)) then
    exit else
  begin
      ACBrNFe1.NotasFiscais.Clear;
      ACBrNFe1.NotasFiscais.LoadFromFile(edtPathLogs.Text + '\nfe\' + trim(copy(notasnfe_chave.Value+'                                                                     ',4,44))+'-nfe.xml');
      if notasnfe_cstat.Value=101 then ACBrNFeDANFeRL1.NFeCancelada:=True else ACBrNFeDANFeRL1.NFeCancelada:=False;

      if (cbdanfe.Checked=false) or (ACBrNFe1.NotasFiscais.Items[0].Confirmada=True) then begin
              CC:=TstringList.Create;
              //CC.Add('[email protected]'); //especifique um email válido
              //CC.Add('[email protected]');    //especifique um email válido
                if cbemailcompacta.Checked=false then begin
                  ACBrNFe1.NotasFiscais.Items[0].EnviarEmail(Para
                                                           , edtEmailAssunto.Text
                                                           , Memo1.Lines
                                                           , cbpdf.Checked //Enviar PDF junto
                                                           , CC //Lista com emails que serão enviado cópias - TStrings
                                                           , nil // Lista de anexos - TStrings
                                                           ); // Auto TLS
              end
              else begin
                  if ( frmStatus = nil ) then
                    frmStatus := TfrmStatus.Create(Application);
                  frmStatus.lblStatus.Caption := 'Gerando Arquivo zip...';
                  frmStatus.Show;
                  frmStatus.BringToFront;
                  Application.ProcessMessages;

                  zip.Reset;
                  zip.ArchiveFile:='NotaFiscal_'+copy(FormatFloat('0000000',notascodnota.Value),2,6)+'.zip';
                  zip.Password:=sonum(cliCnpj.Value);
                  zip.IncludeFiles(edtPathLogs.Text + '\nfe\' + trim(copy(notasnfe_chave.Value+'                                                                     ',4,44))+'-nfe.xml');
                  if cbpdf.Checked then zip.IncludeFiles(edtdirpdf.Text+'\'+trim(copy(notasnfe_chave.Value+'                                                ',4,50))+'-nfe.pdf');
                  zip.Compress;

                  frmStatus.lblStatus.Caption := 'Transmitindo...';
                  Application.ProcessMessages;

                      acbrmail1.IsHTML := True;

                      ACBrMail1.Clear;

                      ACBrMail1.Subject:=edtEmailAssunto.Text;
                      for t := 0 to Memo1.Lines.Count-1 do begin
                        acbrmail1.Body.Add(Memo1.Lines[t]);
                      end;
                      ACBrMail1.AddAddress(para);
                      acbrmail1.AddAttachment(zip.ArchiveFile);
                      ACBrMail1.Send();
                      frmStatus.Hide;

                      acbrmail1.IsHTML:=cbhtml.Checked;
              end;

             CC.Free;
              ShowMessage('Envio de Email executado.'+chr(13)+'Se ocorrer algum erro contate a RAO Sistemas.');
      end
      else ShowMessage('Nota Fiscal não Autorizada!');
  end;

end;

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Não está faltando o cabeçalho do arquivo HTML?

<html>
<head>
</head>
  etc...

 

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

3 minutos atrás, EMBarbosa disse:

Não está faltando o cabeçalho do arquivo HTML?


<html>
<head>
</head>
  etc...

 

já tentei assim e nada...

inclusive o que eu achei mais estranho é que com outro sistema que tenho funciona normal, chega dessa forma, não sei se pode ser algum arquivo faltando na pasta do EXE, sei lá... as vezes alguém passou pelo problema e conseguiu resolver.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Debug linha a linha e compare os resultados enviados ao componente nas duas versões que você tem.

Tente com o programa de exemplo.

Compare com o que você implementou.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

                      acbrmail1.IsHTML := True;

                      ACBrMail1.Clear;

                      ACBrMail1.Subject:=edtEmailAssunto.Text;
                      for t := 0 to Memo1.Lines.Count-1 do begin
                        acbrmail1.Body.Add(Memo1.Lines[t]);    // <--------------------------------------
                      end;
                      ACBrMail1.AddAddress(para);
                      acbrmail1.AddAttachment(zip.ArchiveFile);
                      ACBrMail1.Send();

Na verdade, na linha que marquei coloquei o html direto... antes pegava tudo de um memo e inseria no body linha a linha... quando inseri o html direto no body foi... o mesmo, sem mudar nada...

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 4 meses depois ...
  • Administradores

Boa tarde.

Este tópico está inativo a algum tempo e por isso será fechado, caso necessário favor criar um novo tópico.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1938 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.