Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Possui definições da mensagem a ser enviada.

AtributoTipoValor InicialDescrição
versao-integracaointeger
 

Versão de integração da API.
servidorcharacter
 

Hostname ou endereço IP do servidor de e-mail. Caso não informado, é utilizado o cadastro dos parâmetros de e-mail do produto.
portainteger0Número da Porta do servidor de e-mail. Caso não informado, é utilizado o cadastro dos parâmetros globais do produto. Só influencia quando utilizado OCX para envio da mensagem.
exchangelogicalnoUtilizar servidor Exchange para envio da mensagem.
destinocharacter
 

Destinatário(s) da mensagem.  Quando é mais de um, devem ser separados por vírgulas. Deve ser informado obrigatoriamente. Quando for utilizado para envio de fax, deve ser passado no padrão “[fax:número]”.
copiacharacter
 

Cópia Carbono da mensagem. Quando é mais de um, devem ser separados por vírgulas. Para ambiente UNIX, os endereços adicionados nesse campo serão incluídos no campo "para".
remetentecharacter
 

Remetente da mensagem. Só influencia quando utilizado OCX para envio da mensagem. Precisa ter os padrões de um endereço de e-mail([email protected]). Tem que ser um e-mail valido quando utilizado JAVA.
assuntocharacter
 

Assunto da mensagem.
mensagemcharacter
 

Corpo da mensagem. Informação obrigatória.
arq-anexocharacter
 

Caminho completo do arquivo a ser anexado na mensagem. Disponível apenas para envio de mensagem por MS-Exchange, Blat, Java e UNIX. Em outros casos, é incorporado na mensagem, o caminho do arquivo. Para anexar mais de um arquivo, eles devem ser separados por virgula.
importanciainteger0Nível da importância da mensagem. Só influencia quando utilizado servidor Exchange. Os valores possíveis são de 0 a 2: 0 – Prioridade Baixa, 1 – Prioridade Normal, 2 – Prioridade Alta.
log-enviadalogicalnoEnvia uma mensagem para o remetente assim que a sua mensagem original for enviada. Só influencia quando utilizado servidor Exchange.
log-lidalogicalnoEnvia uma mensagem para o remetente assim que a sua mensagem original for lida. Só influencia quando utilizado servidor Exchange.
acomplogicalyesExecução do utilitário ut-acomp, para verificar o desenvolvimento da execução. Só influencia quando utilizado servidor Exchange.
formatocharacterTextoAceita dois valores: "TEXTO", para enviar e-mail sem formatação e "HTML" , onde o e-mail será enviado no formato HTML.

Abaixo é possível visualizar onde cada atributo é obrigatório ou opcional:

AtributoEXCHANGEFAXBLAT/OCXSENDMAIL (UNIX)JAVAMAILSEND (SSL)
versao-integracaoObrigatórioObrigatórioObrigatórioObrigatórioObrigatórioObrigatório
servidorDesnecessárioDesnecessárioOpcionalOpcionalObrigatórioObrigatório
portaDesnecessárioDesnecessárioOpcionalDesnecessárioObrigatórioObrigatório
destinoObrigatórioObrigatórioObrigatórioObrigatórioObrigatórioObrigatório
copiaOpcionalOpcionalOpcionalDesnecessárioDesnecessárioOpcional
remetenteDesnecessárioDesnecessárioObrigatórioOpcionalObrigatórioObrigatório
assuntoOpcionalOpcionalObrigatórioOpcionalObrigatórioObrigatório
mensagemObrigatórioObrigatórioObrigatórioObrigatórioObrigatórioObrigatório
arq-anexoOpcionalObrigatórioOpcional¹Opcional³OpcionalOpcional
importanciaOpcionalDesnecessárioDesnecessárioDesnecessárioDesnecessárioDesnecessário
log-enviadaOpcionalDesnecessárioDesnecessárioDesnecessárioDesnecessárioDesnecessário
log-lidaOpcionalDesnecessárioDesnecessárioDesnecessárioDesnecessárioDesnecessário
acompOpcionalDesnecessárioDesnecessárioDesnecessárioDesnecessárioDesnecessário
formatoOpcional²DesnecessárioOpcional¹Opcional³DesnecessárioDesnecessário
  1. Para utilização do Blat, é necessário encontrar o arquivo “interfac/mail/blat.exe” na estrutura de diretórios do produto. Caso não seja encontrado, o e-mail será enviado sem o anexo. O arquivo “blat.exe” é distribuído gratuitamente junto às mídias/pacotes dos produtos Datasul.
  2. Só é possível enviar e-mail no formato HTML utilizando Outlook 2000 ou posterior.
  3. Não é possível enviar e-mail no formato HTML quando existir arquivo anexo no UNIX.

...

Possui o conteúdo da mensagem enviada. Essa temp-table foi criada porque o número máximo de caracteres por registro no Progress é de 32kb e caso a mensagem do e-mail possuísse mais 32 Kb era exibida a mensagem Progress 444.  Com essa temp-table será possível enviar e-mail com quantos caracteres forem necessários, menos com a opção Exchange que ainda mantém essa limitação.

AtributoTipoValor InicialDescrição
seq-mensageminteger
 

Sequência da mensagem
mensagemcharacter
 

Conteúdo da mensagem

tt-erro

Possui os erros encontrados pela API.

AtributoTipoValor InicialDescrição
cod-errointeger
 

Número do erro
desc-errocharacter
 

Descrição do erro
desc-arqcharacter
 

Caminho do arquivo que não pode ser anexado, por se tratar de envio de mensagem no ambiente UNIX.

tt-paramEmail

Indica tipo de envio de e-mail.

AtributoTipoValor InicialDescrição
caminhoEmailinteger1

Esse campo pode receber os seguintes valores:
0-Unix
1-

Blat
2-Exchange
3-Java
4-MailSend (SSL)
*** Caso for atribuído um valor diferente desses, o valor padrão será BLAT

Blat
2-Exchange
3-Java
4-MailSend (SSL)

5-DatasulMailServer

*** Caso for atribuído um valor diferente desses, o valor padrão será BLAT

mailUsercharacter
Codigo do usuario para autenticação (se necessário)
mailPasscharacter
Senha do usuario para autenticação (se necessário)
TLSlogicalnoProtocolo
SSLlogicalnoProtocolo
DebuglogicalnoAtiva o debug para o servidor de aplicação
ativaRemetPadraologicalnoEstando como "yes" ativa o comportamento de "responder para", onde o remetente será sempre o from alias e o remetente padrão será quem receberá a resposta do e-mail;
codRemetPadraocharacter
Codigo (e-mail) do remetente que ira receber a resposta, caso o campo logico ativaRemetPadrao estiver como yes.

Configurações disponíveis também na tela de parâmetros de e-mail (btb962zb);

Execução

...

A API possui dois métodos que podem ser executados:

...

  1. OK: Mensagem enviada com sucesso.
  2. NOK: Envio de mensagem abortado. Os erros encontrados serão retornados por meio da temp-table tt-erros.

Exemplos

...

...


Bloco de código
titleFax
linenumberstrue
{utp/utapi019.i}
RUN utp/utapi019.p PERSISTENT SET h-utapi019.
CREATE tt-envio2.
ASSIGN tt-envio2.versao-integracao = 1
       tt-envio2.destino     = "[fax:0,0474417020]"   
       tt-envio2.assunto     = "xxxxxxxxxx"      
       tt-envio2.arq-anexo   = "c:/tmp/api-fax.doc".

CREATE tt-mensagem.
ASSIGN tt-mensagem.seq-mensagem = 1
       tt-mensagem.mensagem = "Mensagem 1".

CREATE tt-mensagem.
ASSIGN tt-mensagem.seq-mensagem = 2
       tt-mensagem.mensagem = "Mensagem 2".

OUTPUT TO VALUE(SESSION:TEMP-DIRECTORY + "envemail.txt").
    RUN pi-execute2 IN h-utapi019(INPUT TABLE tt-envio2,
                                  INPUT TABLE tt-mensagem,
                                  OUTPUT TABLE tt-erros).
OUTPUT CLOSE.
 
IF RETURN-VALUE = "NOK" THEN DO:
    FOR EACH tt-erros:
        DISPLAY tt-erros WITH 1 COLUMN WIDTH 300.
    END.
END.

DELETE PROCEDURE h-utapi019.

...

  1. Campo "exchange" retirado da tt-envio2, pois valor inicial é "no".
  2. Campo "remetente" é obrigatório e deve ter um valor válido.
  3. Campo "copia" é opcional.

...


Bloco de código
titleE-mail - outros métodos
{utp/utapi019.i1}
RUN utp/utapi019.p PERSISTENT SET h-utapi019.

CREATE tt-envio2.
ASSIGN tt-envio2.versao-integracao = 1
       tt-envio2.servidor    = "172.16.1.80"
       tt-envio2.porta       = 25
       tt-envio2.destino     = "[email protected],[email protected]"
       tt-envio2.remetente   = "[email protected]"
       tt-envio2.assunto     = "subject"
       tt-envio2.arq-anexo   = "c:/tmp/texto.doc"
       tt-envio2.formato     = "HTML".

CREATE tt-mensagem.
ASSIGN tt-mensagem.seq-mensagem = 1
       tt-mensagem.mensagem     = "<h1><center>message body 1</pre>".

CREATE tt-mensagem.
ASSIGN tt-mensagem.seq-mensagem = 2
       tt-mensagem.mensagem     = "<h1><center>message body 2</pre>".

CREATE tt-paramEmail.
ASSIGN tt-paramEmail.caminhoEmail = 3. /*0-Unix,1-Blat,2-Exchange,3-Java,4-MailSend*/

OUTPUT to value(SESSION:TEMP-DIRECTORY + "envemail.txt"). 
    RUN pi-execute3 IN h-utapi019 (INPUT  table tt-envio2,
                                   INPUT  table tt-mensagem,
                                   INPUT  table tt-paramEmail,
                                   OUTPUT table tt-erros).
OUTPUT close.
       
IF  RETURN-VALUE = "NOK" THEN DO:
    FOR EACH tt-erros:
        DISP tt-erros WITH 1 COLUMN WIDTH 300.
    END. 
END.

DELETE PROCEDURE h-utapi019.

...