Histórico da Página
...
- Para função de usuário, deve-se inserir a chamada completa U_FuncaoUsuario sem parênteses.
- A função de dados deve retornar um objeto JSON onde os atributos devem ser um sequencial de numeral conforme o exemplo no tópico Exemplo de Função de Dados.
Exemplo de Função de Dados:
Bloco de código language c# theme RDark title Exemplo linenumbers true #INCLUDE "Totvs.ch" function dados() Local cCompHtml := "" Local oJEmailData := JsonObject():New() cCompHtml += "<tr>" cCompHtml += " <td>" + AllTrim(BA1->BA1_NOMUSR) + "</td>" cCompHtml += " <td>" + DTOC(BA1->BA1_DATINC) + "</td>" cCompHtml += " <td>" + DTOC(BA1->BA1_DATBLO) + "</td>" cCompHtml += "</tr>" oJEmailData["1"] := BA1->BA1_NOMUSR oJEmailData["2"] := BA1->(BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO) oJEmailData["3"] := BA1->BA1_EMAIL oJEmailData["4"] := BA1->BA1_TELEFO oJEmailData["5"] := cCompHtml Return oJEmailData
11 - Funcao Conf. - Função (No Exemplo está sendo chamado ao Bloquear um Beneficiário) Campo destinado ao nome da função ou método que utilizará a configuração de e-mail. Cada função ou método deve ser inserido em uma nova linha no grid, permitindo o uso compartilhado da configuração por diferentes pontos do sistema.
- A função inseridano campo Funcao Conf. não pode ser do tipo static e deverá fazer a chamada da função conforme tópico Função de Configuração.
- Para função de usuário, deve-se inserir a chamada completa U_FuncaoUsuario sem parênteses.
...
Após configurar uma conta no Gerenciador de Contas de E-mail, essa configuração poderá ser utilizada para o envio de mensagens, considerando os dados do remetente e o layout em HTML definidos. Para isso, basta utilizar o método SendEmailUsingConfigurator da classe EmailConfigurator. Com apenas alguns parâmetros, a classe identifica automaticamente a configuração apropriada, executa a função de retorno de dados, realiza a substituição das marcações no conteúdo e efetua o envio do e-mail.
Sintaxe
|
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cConfigCode | caractere | Código sequencial criado pelo gerenciador de contas de e-mail no campo ID Config. | |
| cRecipient | caractere | Endereço de e-mail do destinatário que receberá o e-mail. | X |
| aAttachments | Array | Array contendo em cada posição o caminho completo do arquivo com a extenção que será enviado junto ao e-mail. | |
| cCopOcult | caractere | Endereços de e-mail dos destinatários que receberão a mensagem como cópia oculta (CCO), separados por vírgula. |
Retorno
Nome | Tipo | Descrição |
|---|---|---|
oJSendmail | json | Retorna um objeto do tipo json com dois atributos. oJSendmail["sendMail"] - Retorna .T. caso o e-mail tenha sido enviado com sucesso, ou retorna .F. caso tenha ocorrido algum erro no envio. oJSendmail["message"] - Mensagem de sucesso ou de erro. |
| Nota |
|---|
O parâmetro cConfigCode deve ser |
| Nota |
O parâmetro cConfigCode deve ser utilizado apenas quando for necessário informar diretamente o código de uma configuração de e-mail, dispensando o preenchimento do campo "Função Conf." na configuração. Nesse caso, não é preciso vincular a função ou método de origem ao envio do e-mail. No entanto, vale destacar que, ao utilizar esse parâmetro, qualquer alteração de layout exigirá a modificação direta no código-fonte, o que reduz a flexibilidade da manutenção. Por esse motivo, recomenda-se evitar o uso do parâmetro cConfigCode e, sempre que possível, preencher o campo "Função Conf." com o nome da função responsável pelo envio do e-mail. |
Primeiramente identifique a função (não pode ser static) ou método que irá realizar o processo de envio do e-mail.
No exemplo abaixo a função de usuário MailTste irá utilizar uma das configurações do gerenciador de contas de e-mail para enviar o e-mail.
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
//Código acima User Function MailTste() Local oemail as object // instanciando a classe Gerenciadora de E-mail oemail := totvs.protheus.health.plan.manager.EmailManager():New() // Chamada do método responsável por fazer todo o processamento de envio de Ee-mail. // param1 = Cod. do ID do gerenciador, // param2 = emaile-mail destinatário, // param3 = Diretório de anexos que deseja enviar no emaile-mail (Pode receber um array de diretórios), // param4 = emaile-mail que você deseja enviar como cópia ojson := oemail:SendEmailUsingManager(NIL, "emaildestinatario@email.teste@email.com") Return |
Após a implementação da classe,
...
acesse o gerendiador de contas de e-mail, identifique a configuração desejada para esta implementação
Log de erros
Testando funcionalidade conforme HTML e dados criados:
...