Exemplo de disparo de e-Mail via AdvPL

Hoje vou mostrar um disparo de e-Mail com texto para avisar alguns usuários via AdvPL.

Antes de mais nada, o ideal é baixar o fonte zEnvMail, disponível através desse link – https://terminaldeinformacao.com/2017/10/17/funcao-dispara-e-mail-varios-anexos-em-advpl/.

Após isso, no exemplo abaixo, nós criamos uma função chamada zMailForn, e iremos chamar ela dentro do ponto de entrada u_M020INC().

No código fonte, montamos um texto simples com informações do fornecedor criado, e enviamos um email para a revisão do cadastro, confira abaixo (lembre-se de alterar a variável cEmails).

//Bibliotecas
#Include "Protheus.ch"

/*/{Protheus.doc} zMailForn
Ponto de Entrada após a inclusão do Fornecedor, para disparo de e-Mail para contabilidade
@author Atilio
@since 21/05/2018
@version 1.0
@type function
@obs, colocar a chamada dentro do p.e. M020INC
/*/

User Function zMailForn()
	Local aArea   := GetArea()
	Local aAreaA2 := SA2->(GetArea())
	Local cEmails := "email@empresa.com"
	Local cCorpo  := ""
	Local cCodUsr := RetCodUsr()
	Local cNomUsr := UsrRetName(cCodUsr)
	Local cTitulo := "Novo Fornecedor, Revisar Cadastro"
	
	//Monta o corpo do e-Mail que será enviado
	cCorpo := ''
	cCorpo += ' ' + CRLF
	cCorpo += ' ' + CRLF
	cCorpo += ' 	' + cTitulo + '' + CRLF
	cCorpo += ' ' + CRLF
	cCorpo += ' ' + CRLF
	cCorpo += ' 	

' + cTitulo + '

' + CRLF cCorpo += ' Hoje, o usuário ' + Alltrim(cNomUsr) + ' incluiu um novo fornecedor no Sistema, abaixo os detalhes do Fornecedor:
' + CRLF cCorpo += '
' + CRLF cCorpo += ' Código do Fornecedor: ' + SA2->A2_COD + '
' + CRLF cCorpo += ' Loja do Fornecedor: ' + SA2->A2_LOJA + '
' + CRLF cCorpo += ' CNPJ: ' + SA2->A2_CGC + '
' + CRLF cCorpo += ' Razao Social: ' + SA2->A2_NOME + '
' + CRLF cCorpo += ' Nome Fantasia: ' + SA2->A2_NREDUZ + '
' + CRLF cCorpo += ' Endereco: ' + SA2->A2_END + '
' + CRLF cCorpo += ' Bairro: ' + SA2->A2_BAIRRO + '
' + CRLF cCorpo += ' Estado: ' + SA2->A2_EST + '
' + CRLF cCorpo += ' Codigo do Municipio: ' + SA2->A2_COD_MUN + '
' + CRLF cCorpo += ' Municipio: ' + SA2->A2_MUN + '
' + CRLF cCorpo += ' CEP: ' + SA2->A2_CEP + '
' + CRLF cCorpo += ' Telefone: ' + SA2->A2_TEL + '
' + CRLF cCorpo += ' Conta Contábil: ' + SA2->A2_CONTA + '
' + CRLF cCorpo += '
' + CRLF cCorpo += '
' + CRLF cCorpo += ' --
' + CRLF cCorpo += ' e-Mail gerado automaticamente pelo Protheus - ' + dToC(Date()) + ' - ' + Time() + '
' + CRLF cCorpo += ' ' + CRLF cCorpo += ' ' + CRLF //Chama o disparo do e-Mail u_zEnvMail(cEmails, cTitulo, cCorpo, {}, .F.) RestArea(aAreaA2) RestArea(aArea) Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

6 Responses

  1. cdamatta disse:

    Olá Dan,

    Primeiramente parabéns pelo artigo. Estava procurando exatamente isso. Fui solicitado criar um Worflow para, quando incluído novo fornecedor fosse disparado um e-mail par a Contabilidade. O intuíto será para conferir se a conta contabil foi cadastrada corretamente.

    Só fiquei com a seguinte dúvida, o PE M020INC. Não encontrei este PE na lista do MATA120. Ele ainda está ativo?

    Atte.

    Carlos da Mata

  2. cdamatta disse:

    Dan,

    Boa tarde.

    Obrigado pelo retorno. Consegui implementar a rotina. Testado e funcionando.

    Mais uma vez obrigado!

    Atte.

    Carlos da Mata

  3. Alex Temnyk Ochoa disse:

    Grande Dan, sempre salvando!
    Hoje temos uma rotina de envio de e-mails sobre status do pedido de venda, porém atualizamos a assinatura do e-mail e foi adicionada imagens. Logo da empresa, do instagram e do linkedin.
    Apontei a src das imagens para o server (\\blabla\bla\b.png) e para url(blablabla.com), porém ainda assim fico dependente da url estar ativa.
    Tem como eu “inserir/chumbar” as imagens no corpo do email, tal qual a assinatura do Outlook?

    • Bom dia Alex, tudo joia?

      Eu tentei fazer isso no passado, e estava dando muito trabalho ficar trabalhando com mensagens internamente no html para ser exibido no Outlook ou Thunderbird.

      Então o que eu combinei com o cliente, é dele hospedar algumas imagens no site, exemplo empresa.com/imagens/aaa.png

      E ai depois usávamos a tag img apontando para esse caminho.

      Foi a solução mais rápida que encontramos na época.

      Tenha uma ótima e abençoada quarta feira.

      Um forte abraço.

Deixe uma resposta

Terminal de Informação