149 lines
6.4 KiB
Markdown
149 lines
6.4 KiB
Markdown
|
|
---
|
||
|
|
title: Envio de e-mails personalizados (notifier.notify)
|
||
|
|
source: https://tdn.totvs.com/pages/viewpage.action?pageId=852915615
|
||
|
|
path: \Plataforma Documentação técnica\Personalização\Personalização de e-mail\Envio de e-mails personalizados (notifier.notify).md
|
||
|
|
---
|
||
|
|
|
||
|
|
# Índice
|
||
|
|
|
||
|
|
- 1 [Introdução](#Enviodeemailspersonalizados(notifier.notify)-Introdução)
|
||
|
|
- 2 [Sintaxe](#Enviodeemailspersonalizados(notifier.notify)-Sintaxe)
|
||
|
|
- 3 [Parâmetros](#Enviodeemailspersonalizados(notifier.notify)-Parâmetros)
|
||
|
|
- 3.1 [sender](#Enviodeemailspersonalizados(notifier.notify)-sender)
|
||
|
|
- 3.2 [cardId](#Enviodeemailspersonalizados(notifier.notify)-cardId)
|
||
|
|
- 3.3 [template](#Enviodeemailspersonalizados(notifier.notify)-template)
|
||
|
|
- 3.4 [params](#Enviodeemailspersonalizados(notifier.notify)-params)
|
||
|
|
- 3.5 [receivers](#Enviodeemailspersonalizados(notifier.notify)-receivers)
|
||
|
|
- 3.6 [mimeType](#Enviodeemailspersonalizados(notifier.notify)-mimeType)
|
||
|
|
- 4 [Exemplos](#Enviodeemailspersonalizados(notifier.notify)-Exemplos)
|
||
|
|
- 4.1 [Envio de e-mail configurando alguns parâmetros](#Enviodeemailspersonalizados(notifier.notify)-Enviodee-mailconfigurandoalgunsparâmetros)
|
||
|
|
- 4.2 [Envio de e-mail informando um formulário](#Enviodeemailspersonalizados(notifier.notify)-Enviodee-mailinformandoumformulário)
|
||
|
|
- 5 [Pontos de atenção](#Enviodeemailspersonalizados(notifier.notify)-Pontosdeatenção)
|
||
|
|
- 5.1 [Envio de mensagens para e-mails externos](#Enviodeemailspersonalizados(notifier.notify)-Enviodemensagensparae-mailsexternos)
|
||
|
|
- 5.2 [Envio de dados de um formulário via solicitação](#Enviodeemailspersonalizados(notifier.notify)-Enviodedadosdeumformulárioviasolicitação)
|
||
|
|
|
||
|
|
# Introdução
|
||
|
|
|
||
|
|
Além dos diversos e-mails são disparados no Fluig, você pode [criar seus próprios templates de e-mail](https://tdn.totvs.com/pages/viewpage.action?pageId=234455436) 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](http://tdn.totvs.com/x/CAZbDw).
|
||
|
|
|
||
|
|
# 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âmetro | Descrição |
|
||
|
|
| --- | --- |
|
||
|
|
| WDK\_CardContent | Conteúdo HTML do formulário (simula a visualização) |
|
||
|
|
| WDK\_DocumentAuthor | Nome do Autor |
|
||
|
|
| WDK\_DocumentComments | Comentário adicional |
|
||
|
|
| WDK\_DocumentDescription | Descrição do formulário |
|
||
|
|
| WDK\_DocumentIconImage | Imagem do ícone do formulário |
|
||
|
|
| WDK\_DocumentNumber | Número do formulário |
|
||
|
|
| WDK\_DocumentUpdatedDate | Data de atualização do formulário |
|
||
|
|
| WDK\_DocumentVersion | Versão do formulário |
|
||
|
|
| WDK\_DocumentViewLink | Link 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âmetro | Descrição |
|
||
|
|
| --- | --- |
|
||
|
|
| WDK\_VirtualDir | Diretório Virtual |
|
||
|
|
| WDK\_AdviceUser | Nome 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("usuario@fluig.com"); // 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.
|