Distribuição da NF-e autorizada para o Destinatário (Parte II)
Código-Fonte janeiro 26th, 2009
Vimos no artigo anterior como gerar o arquivo da NF-e compartilhada à partir do XML da NF-e assinada e do XML do protocolo de autorização da NF-e. Nesse artigo vamos demonstrar o uso do componente Indy do Delphi para enviar o arquivo da NF-e compartilhada via E-mail; complentando-se assim, o processo de compartilhamento da NF-e com o destinatário:
Vamos partir do código anterior e implementar os recursos de envio do e-mail para o destinatário. Nesse exemplo, fazemos uso do componente Indy também disponível nas distribuições do Delphi.
Adicione os seguintes componentes no seu programa: idSMTP e idMessage; em seguida escreva o código abaixo:
Código-fonte para comandar o envio do e-mail da NF-e compartilhada para o destinatário:
begin // configura servidor smtp idSMTP1.Host := 'smtp.empresaxyz.com.br'; idSMTP1.Username := 'controlenfe@empresaxyz.com.br'; idSMTP1.Password := 'xxxxxxxx'; // configurando mensagem // e-mail da sua loja idmessage1.ContentType := 'text/html'; idmessage1.from.address := 'controlenfe@empresazyz.com.br'; // e-mail destinatario idmessage1.recipients.emailaddresses := 'contato@empresaxyz.com.br'; // Assunto (titulo E-mail) idmessage1.subject := 'Empresa XYZ (Envio automático NF-e) '+DateTimeToStr(now); // Corpo da Mensagem (use aqui um HTML ou texto que deseja enviar // juntamente com a mensagem. idmessage1.body.Add( 'Prezado Cliente,'+ 'Obrigado por comprar na Empresa XYZ. Estamos encaminhando esse e-mail contendo'+ ' em anexo, o arquivo eletrônico da sua Nota Fiscal de Compra; de acordo com '+ ' o "Manual de Integração do Contribuinte" da Nota Fiscal Eletrônica. '+ 'Sds,'+ 'A administração!'+ ' '+ 'PS. Caso tenha alguma dúvida favor entrar em contato conosco '+ 'pelos fones: xx xxx xxxxx ou E-mail: xxxxxx@xxxxx.xx.x'+ '; '+ '<strong>Favor não responder!</strong>. Esse e-mail foi enviado automáticamente pelo'+ ' nosso servidor após registro da autorização de uso da NF-e para a vossa '+ 'Empresa.' ); // ou carregue uma mensagem pré-definida em um arquivo //idmessage1.Body.LoadFromFile('mensageNFe_destinatario.html'); // anexa o XML da NFe compartillhada no e-mail TIdAttachment.create(idmessage1.MessageParts, TFileName('c:\nfe_arquivos\compartilhadas\procNFE.xml')); // conecta com o servidor SMTP idSMTP1.connect; try // Envia o e-mail idSMTP1.send(idmessage1); finally idSMTP1.Disconnect; end; end; |
Com isso concluímos o artigo sobre a Nota Fiscal Eletrônica Compartilhada, na primeira parte (parte I) geramos o arquivo da NF-e compartilhada à partir dos arquivos XML da NF-e assinada e do XML do recibo de autorização da NF-e. Nesse ultimo artigo vimos como enviar esse arquivo via e-mail para o destinatário.
Espero que essas informações sejam úteis para vcs e que eliminem com isso, algumas horas de pesquisa e trabalho.
Tags: Delphi, E-mail, Indy, NF-e, NF-e compartilhada