Páginas filhas
  • LGX - LMAIL

Componente de envio de e-mail que permite alterar as configurações de conexão SMTP padrões Logix.


Hierarquia



Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente:


Método GET: MAIL_BCC

Endereço(s) de e-mail em cópia oculta.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_BCC") => ()

Retorno



TipoDescrição
()

Endereço(s) de e-mail em cópia oculta.


Exemplo



  LET l_mail_bcc = _ADVPL_get_property(l_mail_reference,"MAIL_BCC")



Método GET: MAIL_BODY

Corpo da mensagem do e-mail.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_BODY") => Mensagem

Retorno



TipoDescrição
CHAR

Texto com o corpo da mensagem de e-mail.


Exemplo



  LET l_mail_body = _ADVPL_get_property(l_mail_reference,"MAIL_BODY")



Método GET: MAIL_CC

Endereço(s) de e-mail em cópia.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_CC") => E-mail

Retorno



TipoDescrição
CHAR

Endereço(s) de e-mail em cópia.


Exemplo



  LET l_mail_cc = _ADVPL_get_property(l_mail_reference,"MAIL_CC")



Método GET: MAIL_CONFIRM_READ

Confirmação de leitura.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_CONFIRM_READ") => Confirma leitura?

Retorno



TipoDescrição
BOOLEAN

Indicador que define se será solicitado confirmação de leitura do e-mail.


Exemplo



  LET l_mail_confirm_read = _ADVPL_get_property(l_mail_reference,"MAIL_CONFIRM_READ")



Método GET: MAIL_FROM

Endereço de e-mail remetente.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_FROM") => E-mail 

Retorno



TipoDescrição
CHAR

Endereço de e-mail remetente.


Exemplo



  LET l_mail_from = _ADVPL_get_property(l_mail_reference,"MAIL_FROM")



Método GET: MAIL_REPLY_TO

Endereço(s) de e-mail de resposta.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_REPLY_TO") => E-mail

Retorno



TipoDescrição
CHAR

Endereço de e-mail de resposta.


Exemplo



  LET l_mail_reply_to  = _ADVPL_get_property(l_mail_reference,"MAIL_REPLY_TO")



Método GET: MAIL_STATUS

Situação do envio de e-mail.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_STATUS") => Situação

Retorno



TipoDescrição
BOOLEAN

Situação do envio de e-mail através da confirmação da tela de configuração do e-mail.


Exemplo



  LET l_mail_status = _ADVPL_get_property(l_mail_reference,"MAIL_STATUS")



Método GET: MAIL_SUBJECT

Assunto do e-mail.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_SUBJECT") => Assunto

Retorno



TipoDescrição
CHAR

Texto com o assunto do e-mail.


Exemplo



  LET l_mail_subject = _ADVPL_get_property(l_mail_reference,"MAIL_SUBJECT")



Método GET: MAIL_TO

Endereço(s) de e-mail destinatário(s).

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_TO") => E-mail

Retorno



TipoDescrição
CHAR

Endereço(s) de e-mail destinatário(s).


Exemplo



  LET l_mail_to = _ADVPL_get_property(l_mail_reference,"MAIL_TO")



Método GET: MAIL_TYPE 

Tipo da mensagem de e-mail.

Sintaxe



_ADVPL_get_property(l_mail_reference,"MAIL_TYPE") => Tipo

Retorno



TipoDescrição
CHAR

Tipo de mensagem de e-mail, sendo:

    • TEXT.
    • HTML.
    • CALENDAR.


Exemplo



  LET l_mail_type = _ADVPL_get_property(l_mail_reference,"MAIL_TYPE")



Método GET: SEND_MAIL

Envia e-mail conforme configurações informadas.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SEND_MAIL") => Situação

Retorno



TipoDescrição
BOOLEAN

Situação do envio do e-mail conforme configurações informadas.


Exemplo



  LET l_status = _ADVPL_get_property(l_mail_reference,"SEND_MAIL")



Método GET: SHOW_MAIL_OPTIONS

Exibe a tela de configuração do e-mail.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SHOW_MAIL_OPTIONS") => Situação

Retorno



TipoDescrição
BOOLEAN

Retorna se o usuário confirmou ou não as configurações na tela de envio de e-mail.


Exemplo



  LET l_status = _ADVPL_get_property(l_mail_reference,"SHOW_MAIL_OPTIONS")



Método GET: SMTP_EMAIL

Endereço de e-mail remetente fixo.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_EMAIL") => E-mail

Retorno



TipoDescrição
CHAR

Endereço de e-mail remetente fixo.


Exemplo



  LET l_smtp_email = _ADVPL_get_property(l_mail_reference,"SMTP_EMAIL")



Método GET: SMTP_PASSWORD

Senha de conexão com o servidor SMTP.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_PASSWORD") => Senha

Retorno



TipoDescrição
CHAR

Senha de conexão com o servidor SMTP.


Exemplo



  LET l_smtp_password = _ADVPL_get_property(l_mail_reference,"SMTP_PASSWORD")



Método GET: SMTP_PORT

Porta de conexão com o servidor SMTP.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_PORT") => Porta

Retorno



TipoDescrição
()

Porta de conexão com o servidor SMTP.


Exemplo



  LET l_smtp_port = _ADVPL_get_property(l_mail_reference,"SMTP_PORT")



Método GET: SMTP_PROTOCOL

Protocolo de segurança para conexão SMTP.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_PROTOCOL") => Protocolo

Retorno



TipoDescrição
CHAR

Protocolo de segurança para a conexão com o servidor SMTP, sendo:

    • SSL.
    • TLS.


Exemplo



  LET l_stmp_protocol = _ADVPL_get_property(l_mail_reference,"SMTP_PROTOCOL")



Método GET: SMTP_SERVER 

Servidor SMTP.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_SERVER") => Servidor SMTP

Retorno



TipoDescrição
CHAR

Servidor SMTP definido para o envio de e-mail.


Exemplo



  LET l_smtp_server = _ADVPL_get_property(l_mail_reference,"SMTP_SERVER")



Método GET: SMTP_TIMEOUT

Tempo máximo de tentativa de conexão.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_TIMEOUT") => Tempo

Retorno



TipoDescrição
()

Tempo máximo, em segundos, de tentativa de conexão com o servidor SMTP.


Exemplo



  LET l_smtp_timeout = _ADVPL_get_property(l_mail_reference,"SMTP_TIMEOUT")



Método GET: SMTP_USER

Usuário de conexão com o servidor SMTP.

Sintaxe



_ADVPL_get_property(l_mail_reference,"SMTP_USER") => Usuário

Retorno



TipoDescrição
CHAR

Nome do usuário de conexão com o servidor SMTP.


Exemplo



  LET l_smtp_user = _ADVPL_get_property(l_mail_reference,"SMTP_USER")




Métodos SET


utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Método SET: ADD_ATTACH

Adiciona um arquivo anexo ao e-mail.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"ADD_ATTACH",< Arquivo>, < Arquivo local?>)

Parâmetros



NomeTipoDescriçãoObrigatório?
 ArquivoCHARCaminho completo do arquivo que será anexado ao e-mail.Sim
Arquivo local?BOOLEANIndicador que define se o arquivo de anexo está na maquina local ou no servidor.Sim

(informação) Importante: os arquivos informados neste método, serão copiados para uma pasta temporária. Portanto é necessário acionar o método REMOVE_ATTACH após o envio do e-mail.

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"ADD_ATTACH","C:\\teste.txt",TRUE)




Método SET: MAIL_CC

Endereço(s) de e-mail em cópia oculta.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_CC")

Parâmetros



NomeTipoDescriçãoObrigatório?
 E-mailCHAREndereço(s) de e-mail em cópia oculta.Sim

(informação) Importante: os e-mails devem ser separados por ponto-e-vírgula (;).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_CC","[email protected]")




Método SET: MAIL_BODY

Corpo da mensagem do e-mail.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_BODY",< Mensagem >)

Parâmetros



NomeTipoDescriçãoObrigatório?
MensagemCHARTexto com o corpo da mensagem de e-mail.Sim

(informação) Podem ser utilizados comandos HTML no corpo da mensagem.

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_BODY","Teste de envio de e-mail através do Logix")




Método SET: MAIL_CC

Endereço(s) de e-mail em cópia.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_CC",< E-mail >)

Parâmetros



NomeTipoDescriçãoObrigatório?
 E-mailCHAREndereço(s) de e-mail em cópia.Sim

(informação) Importante: os e-mails devem ser separados por ponto-e-vírgula (;).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_CC","[email protected]")




Método SET: MAIL_CONFIRM_READ

Confirmação de leitura.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_CONFIRM_READ",< Confirma leitura?>)

Parâmetros



NomeTipoDescriçãoObrigatório?
 Confirma leitura?CHARIndicador que define se será solicitado confirmação de leitura do e-mail.Sim

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_CONFIRM_READ",TRUE)




Método SET: AD MAIL_FROM

Endereço de e-mail remetente.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_FROM",<  E-mail >)

Parâmetros



NomeTipoDescriçãoObrigatório?
 E-mailCHAREndereço de e-mail remetente.Sim

(informação) Importante: os e-mail devem ser separados por ponto-e-vírgula (;).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_FROM","[email protected]")




Método SET: MAIL_REPLY_TO

Endereço(s) de e-mail de resposta.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_REPLY_TO",< E-mail >)

Parâmetros



NomeTipoDescriçãoObrigatório?
E-mailCHAREndereço de e-mail de resposta.Sim

(informação) Importante: os e-mail devem ser separados por ponto-e-vírgula (;).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_REPLY_TO","[email protected]")




Método SET: MAIL_SUBJECT

Assunto do e-mail.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_SUBJECT",< Assunto >)

Parâmetros



NomeTipoDescriçãoObrigatório?
Assunto CHARTexto com o assunto do e-mail.Sim


Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_SUBJECT","Envio de e-mail Logix")




Método SET: MAIL_TO

Endereço(s) de e-mail destinatário(s).

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_TO",< E-mail >)

Parâmetros



NomeTipoDescriçãoObrigatório?
 E-mailCHAREndereço(s) de e-mail destinatário(s).Sim

(informação) Importante: os e-mails devem ser separados por ponto-e-vírgula (;).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_TO","[email protected]")




Método SET: MAIL_TYPE

Tipo da mensagem de e-mail.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"MAIL_TYPE",< Tipo >)

Parâmetros



NomeTipoDescriçãoObrigatório?
TipoCHARTipo de mensagem de e-mail, sendo:
  • TEXT.
  • HTML.
  • CALENDAR.
Sim

(informação) Importante: se este método não for acionado, será considerado o padrão HTML para o envio de e-mails.

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"MAIL_TYPE","HTML")




Método SET: REMOVE_ATTACH

Remove um ou mais arquivos de anexo da pasta temporária.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"REMOVE_ATTACH",< [ Índice do arquivo] >)

Parâmetros



NomeTipoDescriçãoObrigatório?
Índice do arquivoINTEGERÍndice do arquivo de anexo.Sim

(informação) O índice do arquivo corresponde a ordem em que o arquivo foi anexado ao e-mail.
Importante: se não for informado o índice, serão excluídos todos os arquivos de anexo do e-mail.:

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"REMOVE_ATTACH")




Método SET: SEND_MAIL

Habilita/desabilita o envio de e-mail após confirmação da tela de configuração.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SEND_MAIL",< Envia e-mail? >)

Parâmetros



NomeTipoDescriçãoObrigatório?
Envia e-mail?BOOLEANIndicador lógico que define se o e-mail será ou não enviado logo após o usuário informar os dados na tela de configurações do e-mail.Sim

(informação) Importante: O e-mail pode ser enviado manualmente utilizando o método GET SEND_MAIL.

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SEND_MAIL",TRUE)




Método SET: SMTP_EMAIL

Endereço de e-mail remetente fixo.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_EMAIL",< E-mail >)

Parâmetros



NomeTipoDescriçãoObrigatório?
E-mailCHAREndereço de e-mail remetente fixo.Sim

(informação) Importante: se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpEmail).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SMTP_EMAIL","[email protected]")




Método SET: SMTP_PASSWORD

Senha de conexão com o servidor SMTP.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_PASSWORD",< Senha >)

Parâmetros



NomeTipoDescriçãoObrigatório?
Senha CHARSenha de conexão com o servidor SMTP.Sim

(informação) Importante: se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpPassword).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SMTP_PASSWORD","**********")




Método SET: SMTP_PORT

Porta de conexão com o servidor SMTP.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_PORT",< Porta >)

Parâmetros



NomeTipoDescriçãoObrigatório?
PortaINTEGER Porta de conexão com o servidor SMTP.Sim

(informação) Importante: se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpPort) e caso esta configuração for nula, irá considerar a porta 587 se a conexão utilizar algum protocolo de segurança, ou a porta 25 se a conexão não utilizar protocolos de segurança.

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SMTP_PORT",25)




Método SET: SMTP_PROTOCOL

Protocolo de segurança para conexão SMTP.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_PROTOCOL",< Protocolo >)

Parâmetros



NomeTipoDescriçãoObrigatório?
ProtocoloCHARProtocolo de segurança para a conexão com o servidor SMTP, sendo:
  • SSL.
  • TLS.
Sim

(informação) O uso do protocolo de segurança SSL só esta disponível a partir de builds liberados a partir de 2012.
Importante:
 se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpProtocol).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SMTP_PROTOCOL","TLS")




Método SET: SMTP_SERVER

Servidor SMTP.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_SERVER",< Servidor >)

Parâmetros



NomeTipoDescriçãoObrigatório?
ServidorCHAREndereço do servidor SMTP.Sim

(informação) Importante: se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpServer).

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SMTP_SERVER","artemis.totvs.com.br")




Método SET: SMTP_TIMEOUT

Tempo máximo de tentativa de conexão.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_TIMEOUT",< Tempo >)

Parâmetros



NomeTipoDescriçãoObrigatório?
 Tempo INTEGERTempo máximo, em segundos, de tentativa de conexão com o servidor SMTP.Sim

(informação) Importante: se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpTimeOut) e caso esta configuração for nula, irá considerar 30 segundos de tempo máximo de conexão.

Exemplo



CALL _ADVPL_set_property(l_mail_reference,"SMTP_TIMEOUT",120)




Método SET: SMTP_USER

Usuário de conexão com o servidor SMTP.

Sintaxe



_ADVPL_set_property(< l_mail_reference >,"SMTP_USER",< Usuário >)

Parâmetros



NomeTipoDescriçãoObrigatório?
UsuárioCHARNome do usuário de conexão com o servidor SMTP.Sim

(informação) Importante: se este método não for acionado, o componente irá utilizar a configuração padrão do arquivo de profile (logix.mail.smtpUser).

Exemplo



CALL _ADPVL_set_property(l_mail_reference,"SMTP_USER","silogix")





Exemplo



(informação) Importante: se os métodos de conexão SMTP_[ATRIBUTO] não possuirem valores, o componente utilizará os valores padrões do Logix para a conexão SMTP.

#----------------# FUNCTION LMail()#----------------#
     DEFINE l_status SMALLINT
     DEFINE l_mail_reference VARCHAR(10)

     LET l_mail_reference = _ADVPL_create_component(NULL,"LMAIL")
     CALL _ADVPL_set_property(l_mail_reference,"SEND_MAIL",TRUE)
     CALL _ADVPL_set_property(l_mail_reference,"MAIL_TYPE","HTML")
     CALL _ADVPL_set_property(l_mail_reference,"MAIL_FROM","[email protected]")
     CALL _ADVPL_set_property(l_mail_reference,"MAIL_TO","[email protected]")
     CALL _ADVPL_set_property(l_mail_reference,"MAIL_SUBJECT","Envio de e-mail LOGIX")
     CALL _ADVPL_set_property(l_mail_reference,"MAIL_BODY","Teste de envio de e-mail através do <b>LOGIX</b>.")

     LET l_status = _ADVPL_get_property(l_mail_reference,"SHOW_MAIL_OPTIONS")
          IF  l_status THEN
         	LET l_status = _ADVPL_get_property(l_mail_reference,"MAIL_STATUS")
              IF  l_status THEN
             CALL log0030_mensagem("E-mail envio com sucesso.","info")
         ELSE
             CALL log0030_mensagem("Problema ao enviar e-mail, por favor verificar as mensagens no arquivo de LOG.","excl")
         END IF
     END IF END FUNCTION       


Visualização