Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

    • 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
      languagec#
      themeRDark
      titleExemplo
      linenumberstrue
      #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

EmailManager:SendEmailUsingManager(< cConfigCode >, < cRecipient >, < aAttachments >, < cCopOcult >)

Parâmetros

Nome

Tipo

Descrição

Obrigatório

cConfigCodecaractereCódigo sequencial criado pelo gerenciador de contas de e-mail no campo ID Config. 
cRecipientcaractereEndereço de e-mail do destinatário que receberá o e-mail.X
aAttachmentsArrayArray contendo em cada posição o caminho completo do arquivo com a extenção que será enviado junto ao e-mail.
cCopOcultcaractere

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
languagec#
themeRDark
titleExemplo
linenumberstrue
//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:

...