Home

TOTVS | Plataformas e tecnologias

Árvore de páginas

FAQ: 54978-É possível utilizar a funcionalidade de envio de e-mails dos produtos Datasul, com um servidor de e-mails Linux?
Produto:Datasul
Versão:1
Sintoma
54978-É possível utilizar a funcionalidade de envio de e-mails dos produtos Datasul, com um servidor de e-mails Linux?
Causa
É possível utilizar a funcionalidade de envio de e-mails dos produtos Datasul, com um servidor de e-mails Linux?
Solução

Pergunta:

É possível utilizar as funcionalidades de envio de e-mails dos produtos Datasul, com um servidor de e-mails Linux?

 

Resposta:

Para servidor Linux, deve ser utilizado o comando do sistema operacional SENDMAIL.

O uso deste comando, dependendo do ambiente, pode diferenciar. Neste caso, encontra-se disponível na API responsável pelo envio de e-mail (utp/utapi019) uma chamada EPC (External Program Call) onde é possível configurar a linha de comando de e-mail de acordo com o ambiente do cliente. Será enviado a linha de comando default do produto para a EPC e esta EPC, realizará os ajustes necessários, devolvendo para o produto que utilizará este retorno para o envio.

 

Na API utp/utapi019, o evento EPC a ser utilizado é "eMailUnix".

 

Exemplo/Modelo 01:

/* inicio */

/****************************************************************************

Programa: email.p - UPC responsavel para montar o comando de envio de email

 

Código de Parametros Disponíveis:

EmailFrom - Email remetente

EmailTo - Email destino

ServidorEmail - Servidor SMTP

CorpoEmail - Arquivo com o texto do e-mail

CommandEmail - Retorna o comando completo do e-mail

****************************************************************************/

{include/i-epc200.i1} /* definição da temp-table tt-epc */

 

DEF INPUT  PARAM p-ind-event   AS CHAR NO-UNDO.DEF INPUT-OUTPUT  PARAM TABLE  FOR tt-epc.

DEF VAR cComandoEmail AS CHAR NO-UNDO.

 

ASSIGN cComandoEmail = "mail ".

 

FOR EACH tt-epc:

      IF  tt-epc.cod-parameter = 'CommandEmail' THEN DO:

           ASSIGN cComandoEmail = replace(tt-epc.val-parameter,'sendmail','mail').

           ASSIGN tt-epc.val-parameter = cComandoEmail.

      END.

END.

/* fim */

 

Exemplo/Modelo 02:

/* inicio */

/********************************************************************************

Programa: upc-utapi019.p ( UPC no programa utapi019 )

Programa: email.p - UPC responsavel para montar o comando de envio de email

 

Código de Parametros Disponíveis:

EmailFrom - Email remetente

EmailTo - Email destino

ServidorEmail - Servidor SMTP

CorpoEmail - Arquivo com o texto do e-mail

CommandEmail - Retorna o comando completo do e-mail

********************************************************************************/

{include/i-epc200.i1} /* definição da temp-table tt-epc */

DEF INPUT PARAM p-ind-event AS CHAR NO-UNDO.

DEF INPUT-OUTPUT PARAM TABLE FOR tt-epc.

DEF VAR cComandoEmail AS CHAR NO-UNDO.

DEF VAR c-file AS CHAR NO-UNDO.

DEFINE VAR i-level AS INT INITIAL 1.

 

FOR EACH tt-epc:

     IF tt-epc.cod-parameter = 'CommandEmail' THEN DO:

         ASSIGN cComandoEmail = replace(tt-epc.val-parameter,'sendmail -v smtp.datasul.com.br:',

                                                                 'mail -s ******EXECUCAO-DO-RPW******** ').

        ASSIGN tt-epc.val-parameter = cComandoEmail.

    END.

END.

 

Lembrete: o relacionamento desta EPC com a API de envio de e-mail (utp/utapi019) é realizado através do Módulo de Menu, Manutenção de Programas (men/men012aa.r).

 

Obs.: Maiores detalhes sobre o funcionamento da API UTAPI019, acesse a documentação disponível em: ..\docapi\utapi019.doc