Mudanças entre as edições de "UniDANFE/Integrando o UniDANFE ao ERP/EnviarOutrosEmails"

De unimake
Ir para: navegação, pesquisa
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 27: Linha 27:
 
   ...
 
   ...
 
   <Anexo9>c:\pastaxx\teste\docto.docx</Anexo9>
 
   <Anexo9>c:\pastaxx\teste\docto.docx</Anexo9>
  <ComprovanteTEF1>c:\pasta\boleto1.pdf</ComprovanteTEF1>
 
  <Prioridade>3</Prioridade>
 
 
   <Texto>Bem vindo ao uso de e-mail externo para o UniDANFE.;;Esse é um exemplo de texto para o corpo do e-mail.;Use o ponto-e-vírgula para quebrar linhas.;;att,;Minha empresa</Texto>
 
   <Texto>Bem vindo ao uso de e-mail externo para o UniDANFE.;;Esse é um exemplo de texto para o corpo do e-mail.;Use o ponto-e-vírgula para quebrar linhas.;;att,;Minha empresa</Texto>
 
   <conta>
 
   <conta>
Linha 48: Linha 46:
 
* Data: TAG opcional. Se não informada, a data atual será utilizada.
 
* Data: TAG opcional. Se não informada, a data atual será utilizada.
 
* Anexo1 a Anexo9: arquivos que devem ser anexados ao e-mail. Devem ser informados os arquivos na sua pasta original, com o caminho completo. Eles não serão excluídos após importados pelo UniDANFE. A sequência deve ser informada sem “furos”. Por exemplo, se for definido <Anexo1> e <Anexo3>, apenas o <Anexo1> será utilizado, pois há um “furo” em <Anexo2>.
 
* Anexo1 a Anexo9: arquivos que devem ser anexados ao e-mail. Devem ser informados os arquivos na sua pasta original, com o caminho completo. Eles não serão excluídos após importados pelo UniDANFE. A sequência deve ser informada sem “furos”. Por exemplo, se for definido <Anexo1> e <Anexo3>, apenas o <Anexo1> será utilizado, pois há um “furo” em <Anexo2>.
* Prioridade: TAG opcional. Indica a prioridade do e-mail. Válidos os valores 1 (alta), 3 (normal) e 5 (baixa).
 
* ClienteEmailExterno: TAG opcional. Indica se será utilizado um cliente de e-mail externo para o envio do e-mail. Valores válidos: 0 (não) e 1 (sim).
 
 
* Texto: - Texto do corpo do e-mail. Pode ser um texto plano ou um conteúdo HTML.
 
* Texto: - Texto do corpo do e-mail. Pode ser um texto plano ou um conteúdo HTML.
 
* Para o funcionamento desse recurso é necessário que a conta de e-mail do Remetente esteja devidamente cadastrada e configurada no UniDANFE, ou incluir no XML as TAGs do grupo <conta> para que o UniDANFE faça a manutenção da conta automaticamente.  
 
* Para o funcionamento desse recurso é necessário que a conta de e-mail do Remetente esteja devidamente cadastrada e configurada no UniDANFE, ou incluir no XML as TAGs do grupo <conta> para que o UniDANFE faça a manutenção da conta automaticamente.  
Linha 70: Linha 66:
 
Os nomes dos parâmetros são idênticos aos nomes das TAGS do XML.
 
Os nomes dos parâmetros são idênticos aos nomes das TAGS do XML.
 
Abaixo, o mesmo exemplo utilizando a UNIDANFE_DFE.DLL:
 
Abaixo, o mesmo exemplo utilizando a UNIDANFE_DFE.DLL:
 
  
 
<pre>
 
<pre>
 +
  // inicializa a classe
 
   dfeInit("emailExt");
 
   dfeInit("emailExt");
   dfeSetParametro("EmailRemetente", "[email protected]");
+
 
 +
  // passa todos os parâmetro. A lista de parâmetros obrigatórios é a mesma da lista de Tags obrigatórias. Olhe a documentação acima para saber qual é.
 +
   dfeSetParametro("EmailRemetente", "[email protected]");                   // "remetente" também funciona
 
   dfeSetParametro("NomeRemetente", "Meu Nome Ltda");
 
   dfeSetParametro("NomeRemetente", "Meu Nome Ltda");
 
   dfeSetParametro("Data", "2015-12-25");
 
   dfeSetParametro("Data", "2015-12-25");
   dfeSetParametro("Destinatarios", "[email protected]");
+
   dfeSetParametro("Destinatarios", "[email protected]");                   // "email" também funciona
   dfeSetParametro("CC", "[email protected];[email protected]");
+
   dfeSetParametro("CC", "[email protected];[email protected]");               // "emailcc" também funciona
+
   dfeSetParametro("BCC", "[email protected];[email protected];[email protected]"); // "emailcco" também funciona
 
   dfeSetParametro("ReplyTo", "[email protected]");
 
   dfeSetParametro("ReplyTo", "[email protected]");
 
   dfeSetParametro("Assunto", "Boletos para pagamento");
 
   dfeSetParametro("Assunto", "Boletos para pagamento");
Linha 86: Linha 84:
 
   ...
 
   ...
 
   dfeSetParametro("Anexo9", "c:\pastaxx\teste\docto.docx");
 
   dfeSetParametro("Anexo9", "c:\pastaxx\teste\docto.docx");
  dfeSetParametro("ComprovanteTEF1", "c:\pasta\boleto1.pdf");
 
  dfeSetParametro("Prioridade", "3");
 
 
   dfeSetParametro("Texto", "Bem vindo ao uso de e-mail externo para o UniDANFE.;;Esse é um exemplo de texto para o corpo do e-mail.;Use o ponto-e-vírgula para quebrar linhas.;;att,;Minha empresa");
 
   dfeSetParametro("Texto", "Bem vindo ao uso de e-mail externo para o UniDANFE.;;Esse é um exemplo de texto para o corpo do e-mail.;Use o ponto-e-vírgula para quebrar linhas.;;att,;Minha empresa");
   // observe que não precisa informar a TAG <conta>
+
 
 +
   // Preencher essas tags abaixo apenas se você quer que a conta de e-mail seja cadastrada automaticamente do UniDANFE. Caso ela já esteja cadastrada, não precisa informá-las.
 
   dfeSetParametro("smtpServidor", "smtp.gmail.com");
 
   dfeSetParametro("smtpServidor", "smtp.gmail.com");
 
   dfeSetParametro("smtpPorta", "587");
 
   dfeSetParametro("smtpPorta", "587");
Linha 99: Linha 96:
 
   dfeSetParametro("smtpHelo", "");
 
   dfeSetParametro("smtpHelo", "");
 
   dfeSetParametro("smtpFormatoRemetente", "0");
 
   dfeSetParametro("smtpFormatoRemetente", "0");
 +
 +
  // executa
 
   dfeExecuta();
 
   dfeExecuta();
 +
 +
  // verificar se deu algum erro
 
   IF dfeGetErro() = ""
 
   IF dfeGetErro() = ""
 
       MESSAGE("O email foi enviado ao UniDANFE com sucesso!");
 
       MESSAGE("O email foi enviado ao UniDANFE com sucesso!");
Linha 105: Linha 106:
 
       MESSAGE(dfeGetErro());
 
       MESSAGE(dfeGetErro());
 
   END  
 
   END  
 +
 +
  // encerra a classe
 
   dfeKill();
 
   dfeKill();
 
</pre>
 
</pre>
 +
 +
== Links úteis ==
 +
* [[Manuais:UniDANFE/Integrando o UniDANFE ao ERP/Lista completa dos comandos de integração|Lista completa dos comandos de integração]]

Edição atual tal como às 09h53min de 4 de novembro de 2022

Enviar e-mails de outras aplicações com o UniDANFE

É possível usar o UniDANFE para enviar e-mails de outras aplicações, como por exemplo, enviar boletos de cobranças e outras mensagens geradas pelo ERP.

Para isso, basta gerar um XML com a estrutura abaixo, e salvá-lo na pasta “Email\Enviar”, que fica dentro da pasta onde o UniDANFE está instalado (ex: c:\unimake\uninfe\email\enviar\boletos-fat-1234.xml”), com qualquer nome único.

Após gerar o arquivo de e-mail, o UniDANFE tentará enviá-lo automaticamente na próxima vez em que um e-mail normal dele for gerado.

Para forçar o envio imediatamente, após gerar o arquivo execute o UniDANFE para fazer isso. Ex: UniDANFE.exe envia_email=1

Estrutura do arquivo XML com o conteúdo do e-mail a ser enviado pelo UniDANFE:

<?xml version="1.0" encoding="UTF-8" ?>
<emailExt>
   <EmailRemetente>[email protected]</EmailRemetente>
   <NomeRemetente>Meu Nome Ltda</NomeRemetente>
   <Data>2015-12-25</Data>
   <Destinatarios>[email protected]</Destinatarios>
   <CC>[email protected];[email protected]</CC>
   <BCC>[email protected];[email protected];[email protected]</BCC>
   <ReplyTo>[email protected]</ReplyTo>
   <Assunto>Boletos para pagamento</Assunto>
   <Anexo1>c:\pasta\boleto1.pdf</Anexo1>
   <Anexo2>c:\outrapasta\novoarquivo.xml</Anexo2>
   ...
   <Anexo9>c:\pastaxx\teste\docto.docx</Anexo9>
   <Texto>Bem vindo ao uso de e-mail externo para o UniDANFE.;;Esse é um exemplo de texto para o corpo do e-mail.;Use o ponto-e-vírgula para quebrar linhas.;;att,;Minha empresa</Texto>
   <conta>
      <smtpServidor>smtp.gmail.com</smtpServidor>
      <smtpPorta>587</smtpPorta>
      <smtpConta>[email protected]</smtpConta>
      <smtpAutenticar>1</smtpAutenticar>
      <smtpSSL>0</smtpSSL>
      <smtpTLS>1</smtpTLS>
      <smtpSenha>@MudeJa</smtpSenha>
      <smtpHelo></smtpHelo>
      <smtpFormatoRemetente>0</smtpFormatoRemetente>
   </conta>
</emailExt>

Notas

  • TAGs obrigatórias: Destinatários, Assunto e Texto.
  • EmailRemetente: TAG opcional. Se existir, será utilizado esse remetente – que já deve estar previamente cadastrado no UniDANFE – para enviar o e-mail. Se essa TAG não for informada, ou se o e-mail informado não estiver cadastrado no UniDANFE, o remetente padrão cadastrado será utilizado para o envio.
  • Data: TAG opcional. Se não informada, a data atual será utilizada.
  • Anexo1 a Anexo9: arquivos que devem ser anexados ao e-mail. Devem ser informados os arquivos na sua pasta original, com o caminho completo. Eles não serão excluídos após importados pelo UniDANFE. A sequência deve ser informada sem “furos”. Por exemplo, se for definido <Anexo1> e <Anexo3>, apenas o <Anexo1> será utilizado, pois há um “furo” em <Anexo2>.
  • Texto: - Texto do corpo do e-mail. Pode ser um texto plano ou um conteúdo HTML.
  • Para o funcionamento desse recurso é necessário que a conta de e-mail do Remetente esteja devidamente cadastrada e configurada no UniDANFE, ou incluir no XML as TAGs do grupo <conta> para que o UniDANFE faça a manutenção da conta automaticamente.

Cadastro automático da conta de e-mail

Para que o UniDANFE faça o cadastro e a manutenção dos dados da conta automaticamente basta informar as TAGs do grupo <conta>. Observe que, nesse caso, outras TAGs passam a ser obrigatórias no XML.

  • TAGs obrigatórias: EmailRemetente, Destinatários, Assunto, Texto, smtpServidor, smtpPorta.

Conteúdo das TAGS:

  • smtpAutenticar: 1=o servidor requer autenticação (default); 0=não
  • smtpSSL: 1=autenticar usando SSL; 0=não (default)
  • smtpTLS: 1=autenticar usando TLS; 0=não (default)
  • smtpFormatoRemetente: [email protected] (default); 1=nome <[email protected]>

Como enviar outros emails usando a UNIDANFE_DFE.DLL

Caso seu sistema esteja integrado ao UniDANFE pela UNIDANFE_DFE.DLL, você pode enviar os e-mails de aplicações externas para o UniDANFE sem precisar gerar o XML acima. Basta, nesse caso, passar tudo por parâmetros. Os nomes dos parâmetros são idênticos aos nomes das TAGS do XML. Abaixo, o mesmo exemplo utilizando a UNIDANFE_DFE.DLL:

   // inicializa a classe
   dfeInit("emailExt");

   // passa todos os parâmetro. A lista de parâmetros obrigatórios é a mesma da lista de Tags obrigatórias. Olhe a documentação acima para saber qual é.
   dfeSetParametro("EmailRemetente", "[email protected]");                   // "remetente" também funciona
   dfeSetParametro("NomeRemetente", "Meu Nome Ltda");
   dfeSetParametro("Data", "2015-12-25");
   dfeSetParametro("Destinatarios", "[email protected]");                   // "email" também funciona
   dfeSetParametro("CC", "[email protected];[email protected]");                // "emailcc" também funciona
   dfeSetParametro("BCC", "[email protected];[email protected];[email protected]");  // "emailcco" também funciona
   dfeSetParametro("ReplyTo", "[email protected]");
   dfeSetParametro("Assunto", "Boletos para pagamento");
   dfeSetParametro("Anexo1", "c:\pasta\boleto1.pdf");
   dfeSetParametro("Anexo2", "c:\outrapasta\novoarquivo.xml");
   ...
   dfeSetParametro("Anexo9", "c:\pastaxx\teste\docto.docx");
   dfeSetParametro("Texto", "Bem vindo ao uso de e-mail externo para o UniDANFE.;;Esse é um exemplo de texto para o corpo do e-mail.;Use o ponto-e-vírgula para quebrar linhas.;;att,;Minha empresa");

   // Preencher essas tags abaixo apenas se você quer que a conta de e-mail seja cadastrada automaticamente do UniDANFE. Caso ela já esteja cadastrada, não precisa informá-las.
   dfeSetParametro("smtpServidor", "smtp.gmail.com");
   dfeSetParametro("smtpPorta", "587");
   dfeSetParametro("smtpConta", "[email protected]");
   dfeSetParametro("smtpAutenticar", "1");
   dfeSetParametro("smtpSSL", "0");
   dfeSetParametro("smtpTLS", "1");
   dfeSetParametro("smtpSenha", "@MudeJa");
   dfeSetParametro("smtpHelo", "");
   dfeSetParametro("smtpFormatoRemetente", "0");

   // executa 
   dfeExecuta();

   // verificar se deu algum erro
   IF dfeGetErro() = ""
      MESSAGE("O email foi enviado ao UniDANFE com sucesso!");
   ELSE 
      MESSAGE(dfeGetErro());
   END 

   // encerra a classe
   dfeKill();

Links úteis