Disparando eMails através da GPEMail – Maratona AdvPL e TL++ 295

Nesse vídeo demonstraremos a utilização da função GPEMail, que serve para disparar eMails conforme as parametrizações da SX6.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe295
Realiza um disparo de eMail
@type  Function
@author Atilio
@since 21/02/2023
@see https://tdn.totvs.com/pages/releaseview.action?pageId=463812948
@obs 
    
    Função GPEMail
    Parâmetros
        + cSubject    , Caractere      , Assunto do e-Mail
        + cMensagem   , Caractere      , Corpo do e-Mail
        + cEMail      , Caractere      , Destinatários
        + aFiles      , Array          , Arquivos em anexo (sempre dentro da Protheus Data)
        + lMensagem   , Lógico         , Se irá exibir mensagem caso haja falha no envio
    Retorno
        Retorna .T. se conseguiu disparar o e-Mail ou .F. se não

    Obs.: Os parâmetros que devem ser cadastrados com as informações do seu provedor são
        + MV_RELAUTH - ex.: .T.
        + MV_RELSERV - ex.: mail.seudominio.com:587
        + MV_RELACNT - ex.: contato@seudominio.com
        + MV_RELPSW  - ex.: suaSenha
        + MV_RELSSL  - ex.: .F.
        + MV_RELTLS  - ex.: .T.

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe295()
    Local aArea      := FWGetArea()
    Local cPara      := "contato@atiliosistemas.com; "
    Local cAssunto   := ""
    Local cCorpo     := ""
    Local aAnexos    := {}
    Local lExibeHelp := .T.

    //Monta o corpo do e-Mail
    cCorpo := '<p>Olá.</p>'
    cCorpo += '<p></p>'
    cCorpo += '<p>Esse é um <strong>e-Mail de teste</strong> gerado pelo <font color="red">ERP Protheus</font>.</p>'
    cCorpo += '<p></p>'
    cCorpo += '<p>Data <em>' + dToC(Date()) + '</em> às <em>' +Time() + '</em>.</p>'
   
    //Adição de Anexos (somente arquivos dentro da protheus data)
    /*
    aAdd(aAnexos, "\pasta\arquivo1.pdf")
    aAdd(aAnexos, "\pasta\arquivo2.xlsx")
    aAdd(aAnexos, "\pasta\arquivo3.txt")
    */

    //Faz o disparo via GPEMail
    cAssunto := "Envio de Teste (GPEMail)"
    lEnvio   := GPEMail(cAssunto, cCorpo, cPara, aAnexos, lExibeHelp)

    If lEnvio
        FWAlertSuccess("Sucesso no disparo do e-Mail", "Teste GPEMail")
    Else
        FWAlertError("Falha no disparo do e-Mail", "Teste GPEMail")
    EndIf

    FWRestArea(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.

Deixe uma resposta

Terminal de Informação