Produto: | Datasul |
Versão: | 1 |
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