Pesquisa por:
Enviando e-mail pelo Fluig.

Objetivo

Iremos construir um template que seja possível enviar lista de dados para melhor otimizar nosso template e código.

O artigo oficial de envio de e-mail pelo Fluig está disponível neste link, portanto o que irei destacar abaixo foram resultados de observações e estudos.

O objetivo deste estudo é entender quais tecnologias o Fluig utiliza para entregar a solução de E-mail e do Template de E-MAIL e estudar uma forma mais limpa de construir os templates.

Utilize estas informações para agregar em seus estudos, porém sempre que houver dúvidas consulte o suporte e documentação oficial do Fluig.

Disclaimer: as ações são responsabilidades dos usuários.

Caso seu fluig não dispare os e-mails consulte a documentação: fluig não dispara e-mail.

Freemarker

O freemarker é uma tecnologia em java para construção de templates, é bem utilizado nas construções de widgets.

Fazer um bom uso do FreeMarker com certeza gera ganhos em produtividade e manutenção de códigos.

Recomendo a leitura neste link: https://freemarker.apache.org/docs/ref_directive_list.html

Enviar o E-mail pelo Fluig

Para enviar o E-mail pelo Fluig é necessário utilizar o recurso onNotify, confira de forma detalhada neste link: https://tdn.totvs.com/display/public/fluig/Templates+de+e-mail+personalizado

Resultado Final

Ao executar o passo a passo abaixo você deverá ter um resultado semelhante a este:


Passo a Passo

Evento de Processo

Crie um processo e acrescente o código abaixo em um evento de processo, como por exemplo: o BeforeStateEntry

Veja abaixo que estamos utilizando a variável UFS e a variável CarrosList, desta forma enviamos a lista de objetos que será lida pelo FreeMarker.

try{
	    //Monta mapa com parâmetros do template
	    var parametros = new java.util.HashMap();
	    
	  
	    
	    //Veja mais detalhes em: 
	    parametros.put("NOME_USUARIO", "UsuarioFluig");
	    parametros.put("CODIGO_USUARIO", "UsuarioFluig");
	    parametros.put("calculo", 1+1);
	    parametros.put("SERVER_URL",    fluigAPI.getPageService().getServerURL()  ) ;
	    
//E-mail
	    parametros.put("subject", "Assunto do E-mail");
	     
	     var ufs = new java.util.ArrayList();
	     ufs.add("GO");
	     ufs.add("SP");
	     ufs.add("AC");
	     
	     
	     var carrosList = new java.util.ArrayList();
	     
	     var carro = new java.util.HashMap();
		   
	     carro.put("modelo", "GOL");
	     carro.put("cor", "BRANCO");
	     carro.put("motor", "1.0");
	     
	     carrosList.add(carro);
	     
	     var carro = new java.util.HashMap();
	     
	     carro.put("modelo", "Civic");
	     carro.put("cor", "cinza");
	     carro.put("motor", "5.0");
	     
	     carrosList.add(carro);
	     
	     var carro = new java.util.HashMap();
	     
	     carro.put("modelo", "PALIO");
	     carro.put("cor", "verde");
	     carro.put("motor", "1.5");
	     
	     carrosList.add(carro);
	     
	     var carro = new java.util.HashMap();
	     
	      
	    
	    parametros.put("estados", ufs);
	    parametros.put("carros", carrosList);
	 
	    //Monta lista de destinatários
	   
	    
	    var destinatarios = new java.util.ArrayList();
	    
	    
	    destinatarios.add("[email protected]");
	    
	    	//Envia e-mail
	    	notifier.notify("UsuarioFluig", "template_teste", parametros, destinatarios, "text/html");
	    
	     
	} catch(e){
		throw e;
	    log.info(e);
	}

Após criar o processo crie um novo arquivo html chamado template_teste.html e salve ele em seu computador, em seguida acesse o fluig > Painel de Controle > Templates de E-mail e crie um template importando este arquivo html.

HTML – Template de E-mail Fluig

Veja que as variáveis são passadas dentro deste bloco ${estado} , onde neste exemplo o estado é o nome do meu objeto no evento de processo, que foi recebido na variável de parametros.

Eu recomendo que teste utilizar da seguinte forma, ${estado!”}, pois assim a variável estado se não existir irá imprimir um valor em branco.

Este tipo de situação acontece, onde a variável pode não ter sido gerada corretamente, principalmente em elementos do tipo lista e geração dinâmica.

Utilizar este modelo onde substitui a inexistência da variável por um valor em branco pode suprimir erros, pois no primeiro exemplo, caso a variável estado não exista poderá haver erros na geração e disparo do e-mail.



Este é um exemplo de envio de e-mail  <br/> <br/>

A soma de 1 + 1 é ${calculo}  <br/> <br/>

A url do fluig é: <a href="${SERVER_URL!''}"  <br/> <br/>



<html>
	<#if estados??> 
	<tr>
		<td>UF ( Estado )</td>
	</tr>

	<#list estados as estado>
	<tr>		
       <td>
		  ${estado!''}
	    <td>
	</tr>
		</#list>
	</#if>
</html>

-------------------------------------------

LISTA DE CARROS

-------------------------------------------

<#if carros??> 
<html>
	<tr>
		<td>Marca</td>
		<td>Cor</td>
		<td>Motor</td>
	</tr>
	<#list carros as carro>
	<tr>
		<td>${carro.modelo!''}</td>
		<td>${carro.cor!''}</td>
		<td>${carro.motor!''}</td>
	</tr>
	</#list>
	</tr>
</html>
</#if>

Referências

Acessos em: 10 de ago. 2021.

https://freemarker.apache.org/docs/ref_directive_list.html
https://api.fluig.com/old/sdk/com/fluig/sdk/service/PageService.html
https://fluiggers.com.br/t/como-pegar-url-do-ambiente-fluig-que-estou/157/7

O Fluig não está disparando e-mails.

Um dos recursos mais importantes na plataforma é a gestão da comunicação, seja as notificações, complementos dos processos ou até mesmo os envios de e-mails.

Poderá haver situações em que o seu fluig não esteja enviando e-mails, isso pode ser um erro de configuração no seu sistema, vou deixar abaixo uma lista de possibilidades para você conferir.

Aproveite e participe de nosso grupo de WhatsApp, desta forma você poderá tirar dúvidas e compartilhar experiências em tempo real. Deixe seu e-mail e receba notificações a cada momento que eu postar um conteúdo novo.

Configurações principais.

Os primeiros passos é conferir as configurações principais. Veja dentro do seu painel do WCMADMIN se as opções estão ativas.

Para acessar o WCMADMIN ( Painel de configurações da plataforma) é preciso entrar pelo link: www.meufluig.com/wcmadmin e entrar com o usuário wcmadmin e a senha informada no momento da instalação da plataforma.

O caminho pode mudar, de acordo com sua versão, mas nas versões mais atualizadas são:

  • WCMADMIN > Configurações do Sistema > Parâmetros da Plataforma > Configurações de E-mail.
  • WCMADMIN > Empresas > Email > Habilitar Envio de E-mail.

Durante a configuração é importante realizar os devidos testes. É preciso ter certeza que você inseriu o usuário e senha corretamente, para isso conecte em seu provedor de e-mail e busque no suporte técnico quais as configurações, para que você efetue o registro com seu e-mail corporativo.

Configurações de SMTP do Gmail.

Este é um exemplo das configurações para envio de e-mail utilizando o gmail. Veja mais neste link.

No geral, as configurações são bem parecidas, mas é bem importante estar atento, pois qualquer diferença das configurações do seu provedor com o que for informado no fluig poderá acarretar em um problema e seu fluig deixar de enviar e-mail.

Uma observação é que alguns provedores de e-mail ( O Gmail se inclui nesta lista ) possuem configurações específicas que devem ser realizadas antes de utilizar este recurso. Você precisa verificar dentro do seu provedor de e-mail como ativar o envio de SMTP da sua caixa de e-mail.

No caso do GMAIL em específico eu recomendo a leitura destes dois artigos: Desabilitar apps menos seguros e ler mensagens em outros clientes de e-mail utilizando o pop. Este segundo artigo é somente para entendimento.

Servidor de envio de e-mails (SMTP)smtp.gmail.com
Requer SSL: Sim
Requer TLS: Sim (se disponível)
Requer autenticação: Sim
Porta para SSL: 465
Porta para TLS/STARTTLS: 587
Nome completo ou Nome de exibiçãoSeu nome
Nome da conta, Nome do usuário ou Endereço de e-mailSeu endereço de e-mail completo
SenhaSua senha do Gmail
Tabela de configurações SMTP disponível em suporte.google.com

Verifique o porquê o seu fluig não dispara os e-mails através dos logs do fluig.

Mesmo se após toda configuração do fluig e sua plataforma não dispara e-mails, é recomendado que analise os logs, pois lá será a melhor fonte de informação das parametrizações incompletas.

Os erros gerados na plataforma são registrados no arquivos de log. Recomendo a leitura do post abaixo.

Um exemplo de erro é quando a senha está inválida, o fluig consegue autenticar no provedor de e-mail, mas tem o retorno de senha inválido. Neste caso o erro fica explicito no arquivo de log.

como ler logs no fluig

Conclusão.

Neste post você viu alguns possíveis problemas para envios de e-mail no fluig. Caso tenha dúvidas participe de nossa comunidade no WhatsApp, ou deixe nos comentários desta página.