Árvore de páginas

Índice

Introdução

Além dos diversos e-mails são disparados no Fluig, você pode criar seus próprios templates de e-mail e envia-los através dos scripts de personalização pelo método notifier.notify

Para estes e-mails funcionarem, é necessário que tenha sido feita a configuração de envio de e-mail.

Sintaxe

notifier.notify(sender, template, params, receivers, mimeType);
notifier.notify(sender, cardId, template, params, receivers, mimeType);

Parâmetros

sender

Uma string contendo a matrícula (código do usuário) do usuário que será usado como remetente do e-mail caso não tenha sido configurado o remetente padrão na configuração de e-mail. Caso tenha sido configurado o remetente padrão, essa parâmetro será ignorado.

cardId

O código do registro de formulário vinculado à este e-mail. Informar o código do formulário adiciona alguns parâmetros adicionais que podem ser usados nos templates de e-mail:

ParâmetroDescrição
WDK_CardContentConteúdo HTML do formulário (simula a visualização)
WDK_DocumentAuthorNome do Autor
WDK_DocumentCommentsComentário adicional
WDK_DocumentDescriptionDescrição do formulário
WDK_DocumentIconImageImagem do ícone do formulário
WDK_DocumentNumberNúmero do formulário
WDK_DocumentUpdatedDateData de atualização do formulário
WDK_DocumentVersionVersão do formulário
WDK_DocumentViewLinkLink para acesso ao formulário

template

Uma string informando o código do template de e-mail que está sendo enviado. É o código usado no cadastro de template de e-mail.

params

É um mapa de dados que permite incluir parâmetros para que sejam apresentados no e-mail. O nome dos parâmetros informados nesse mapa devem ser os mesmos que são utilizados dentro do arquivo de template.

Além dos parâmetros de uso no template, também pode ser adicionado a chave "subject" que será usado como assunto do e-mail. Caso não seja informado nada, o assunto do e-mail será "Fluig"

Por padrão, são adicionados dois parâmetros em todas as notificações e eles podem ser usados no template de e-mail:


ParâmetroDescrição
WDK_VirtualDirDiretório Virtual
WDK_AdviceUserNome do colaborador remetente

receivers

Uma lista de strings com os códigos dos usuários para quem o e-mail será enviado ou os e-mails dos destinatários. Essa lista pode conter códigos de usuários e e-mails externos simultaneamente. 

mimeType

Uma string que especifica o tipo de mídia do conteúdo do e-mail. Normalmente, usa-se "text/html" mas existe também a opção "text/plain".

Exemplos

Envio de e-mail configurando alguns parâmetros

try {
    var matriculaRemetente = "admin";
    var templateCode = "MeuTemplate";
    
	var parametros = new java.util.HashMap();
	
	// Este parâmetro é obrigatório e representa o assunto do e-mail
	parametros.put("subject", "Consulte nossa documentação");

	// Monta mapa com parâmetros do template 
	parametros.put("documentacao", "https://tdn.totvs.com/display/fluig/");
	parametros.put("descricao", "Documentação Fluig");

	// Monta lista de destinatários
	var destinatarios = new java.util.ArrayList();
	destinatarios.add("matriculaUsuario"); // Matrícula do usuário
	destinatarios.add("[email protected]"); // E-mail externo

	//Envia e-mail
	notifier.notify(matriculaRemetente, templateCode, parametros, destinatarios, "text/html");

} catch(e) {
	log.info(e);
}

Envio de e-mail informando um formulário

try {
    var matriculaRemetente = "admin";
    var templateCode = "MeuTemplate";
	var codigoForm = 85;
    
	var parametros = new java.util.HashMap();
	parametros.put("subject", "Informações sobre o cadastro");

	// Monta lista de destinatários
	var destinatarios = new java.util.ArrayList();
	destinatarios.add("matriculaUsuario"); // Matrícula do usuário

	//Envia e-mail
	notifier.notify(matriculaRemetente, codigoForm, templateCode, parametros, destinatarios, "text/html");

} catch(e) {
	log.info(e);
}


Pontos de atenção

Envio de mensagens para e-mails externos

Para que o envio de e-mails externos seja concluído corretamente o servidor SMTP responsável deve estar habilitado para enviar e-mails para fora da intranet do seu servidor.


Envio de dados de um formulário via solicitação

Pode-se usam os eventos de personalização do processo para envio de e-mails.

Porém, quando tenta enviar os dados de um formulário na primeira atividade do processo, você deve chamar a notificação no método beforeStateEntry ou afterStateEntry. Caso contrário, com o formulário ainda não foi criado na tabela de dados, esse envio não irá funcionar.