EM DESENVOLVIMENTO - PREVISÃO 12.1.14
Pré Requisitos
TOTVS 12 com versão 12.1.13 14 ou superior.
Servidor de e-mails com suporte a SMTP e uma conta válida para envio de e-mails.
...
- subject: (string) assunto do e-mail;
- content: (string) conteúdo do e-mail, podendo ser HTML;
- replayreply: (string) (opcional) endereço de e-mail que receberá a resposta do e-mail enviado;
- alias: (string) (opcional) caso queira utilizar um 'apelido' para sobrepor o endereço de e-mail do remetente (conta do sistema utilizada para envio da mensagem);
- to: ([string]) lista contendo os endereços de destinatários;
- cc: ([string]) (opcional) lista contendo os endereços de destinatários a receberem a cópia do e-mail;
- bcc: ([string]) (opcional) lista contendo os endereços de destinatários a receberem a cópia oculta do e-mail;
- returnNotificationType: (integer) (opcional): indica como deve ser o retorno em caso do envio retornar alguma confirmação ou erro.
- 1. Retorna o e-mail completo;
- 2. Retorna apenas o cabeçalho (default).
- deliveryNotification: (integer) (opcional): indica o tipo de notificação que o remetente gostaria de receber.
- -1. Nenhuma (defaul);
- 1. Ao entregar o e-mail ao destinatário;
- 2. Ao falhar na entrega ao destinatário;
- 4. Ao atrasar a entrega ao destinatário;
- readNotificationTo: (string) Em caso de leitura do e-mail, caso tenha sido informado um endereço válido para este atributo, este receberá uma notificação de que o e-mail foi lido;
- priority: (integer) (opcional): prioridade do e-mail:
- 1: Alta;
- 3: (default) Normal;
- 5: Baixa.
...
- sendSimple: Destina-se ao envio de um e-mail simples.
- INPUT
- c_to: (CHARACTER EXTENT): lista contendo os endereços de destinatários;
- c_cc: (CHARACTER EXTENT): (opcional) lista contendo os endereços de destinatários a receberem a cópia do e-mail;
- c_bcc: (CHARACTER EXTENT): (opcional) lista contendo os endereços de destinatários a receberem a cópia oculta do e-mail;
- c_subject: (CHARACTER): assunto do e-mail;
- c_replayreply_to: (CHARACTER): (opcional) endereço de e-mail que receberá a resposta do e-mail enviado;
- c_from_alias: (CHARACTER): (opcional) caso queira utilizar um 'apelido' para sobrepor o endereço de e-mail do remetente (conta do sistema utilizada para envio da mensagem);
- lc_content: (LONGCHAR): conteúdo do e-mail;
- l_html: (LOGICAL): indica se o conteúdo do e-mail será um HTML.
- OUTPUT
- m_response: (MEMPTR): entidade Mail em formato JSON, ou erro em caso de algum problema na execução;
- i_response_code: (INTEGER): código do status de resposta da chamada REST ao serviço;
- c_response_status: (CHARACTER): descrição do status de resposta da chamada REST ao serviço.
- sendWithAttachment: Destina-se ao envio de um e-mail simples com anexos. Para utilização dos anexos é preciso adicionar a include utp/ut-mail-api.i para ter acesso a ttAttachment.
- INPUT
- c_to: (CHARACTER EXTENT): lista contendo os endereços de destinatários;
- c_cc: (CHARACTER EXTENT): (opcional) lista contendo os endereços de destinatários a receberem a cópia do e-mail;
- c_bcc: (CHARACTER EXTENT): (opcional) lista contendo os endereços de destinatários a receberem a cópia oculta do e-mail;
- c_subject: (CHARACTER): assunto do e-mail;
- c_replayreply_to: (CHARACTER): (opcional) endereço de e-mail que receberá a resposta do e-mail enviado;
- c_from_alias: (CHARACTER): (opcional) caso queira utilizar um 'apelido' para sobrepor o endereço de e-mail do remetente (conta do sistema utilizada para envio da mensagem);
- lc_content: (LONGCHAR): conteúdo do e-mail;
- l_html: (LOGICAL): indica se o conteúdo do e-mail será um HTML.
- ttAttachment: (TEMP-TABLE):
- fileName: (CHARACTER): nome do arquivo;
- fileType: (CHARACTER): tipo do arquivo, caso não seja informado o serviço vai tentar descobrir com base na extensão do arquivo;
- fileContent: (BLOB): conteúdo binário do arquivo.
- OUTPUT
- m_response: (MEMPTR): entidade Mail em formato JSON, ou erro em caso de algum problema na execução;
- i_response_code: (INTEGER): código do status de resposta da chamada REST ao serviço;
- c_response_status: (CHARACTER): descrição do status de resposta da chamada REST ao serviço.
- sendEmail: Destina-se ao envio de e-mail com solicitação de entrega e outros.
- INPUT
- c_to: (CHARACTER EXTENT): lista contendo os endereços de destinatários;
- c_cc: (CHARACTER EXTENT): (opcional) lista contendo os endereços de destinatários a receberem a cópia do e-mail;
- c_bcc: (CHARACTER EXTENT): (opcional) lista contendo os endereços de destinatários a receberem a cópia oculta do e-mail;
- c_subject: (CHARACTER): assunto do e-mail;
- c_replayreply_to: (CHARACTER): (opcional) endereço de e-mail que receberá a resposta do e-mail enviado;
- c_from_alias: (CHARACTER): (opcional) caso queira utilizar um 'apelido' para sobrepor o endereço de e-mail do remetente (conta do sistema utilizada para envio da mensagem);
- lc_content: (LONGCHAR): conteúdo do e-mail;
- l_html: (LOGICAL): indica se o conteúdo do e-mail será um HTML;
- c_read_notification: (CHARACTER): caso tenha sido informado um endereço válido para este atributo, este receberá uma notificação de que o e-mail foi lido;
- i_delivery_notification: (INTEGER): indica o tipo de notificação que o remetente gostaria de receber;
- i_return_type: (INTEGER): indica como deve ser o retorno em caso do envio retornar alguma confirmação ou erro;
- i_priority: (INTEGER): prioridade do e-mail;
- ttAttachment: (TEMP-TABLE):
- fileName: (CHARACTER): nome do arquivo;
- fileType: (CHARACTER): tipo do arquivo, caso não seja informado o serviço vai tentar descobrir com base na extensão do arquivo;
- fileContent: (BLOB): conteúdo binário do arquivo.
- OUTPUT
- m_response: (MEMPTR): entidade Mail em formato JSON, ou erro em caso de algum problema na execução;
- i_response_code: (INTEGER): código do status de resposta da chamada REST ao serviço;
- c_response_status: (CHARACTER): descrição do status de resposta da chamada REST ao serviço.
...
Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Javascript: send |
---|
linenumbers | true |
---|
collapse | true |
---|
|
var controller;
controller = function ($rootScope, $scope, MailService) {
this.sendEmail = funcion() {
MailService.send({
replayreply: "[email protected]",
alias: "Jhon Doe",
to: ["[email protected]"],
cc: ["[email protected]"],
subject: "Datasul Mail Service",
content: "Hello from the other side !"
}, function(result) {
console.info(result);
});
};
};
controller.$inject = ['$rootScope', '$scope', 'MailService']; |
Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Javascript: sendWithAttachment |
---|
linenumbers | true |
---|
collapse | true |
---|
|
var controller;
controller = function ($rootScope, $scope, MailService) {
this.onSelectFiles = function(selectedFiles) {
if (angular.isDefined(selectedFiles)) {
this.sendEmail(selectedFiles);
}
};
this.sendEmail = funcion(files) {
MailService.sendWithAttachment({
replayreply: "[email protected]",
alias: "Jhon Doe",
to: ["[email protected]"],
cc: ["[email protected]"],
subject: "Datasul Mail Service",
content: "Hello from the other side !"
}, files,
function(result, mail) {
console.info(result, mail);
}, function(progress, evt, mail) {
console.warn(progress, evt, mail);
}, function(result, status, headers, config, email) {
console.error(result, status, headers, config, email);
});
};
};
controller.$inject = ['$rootScope', '$scope', 'MailService'];
------------------------------------------------------------------------------------
<html>
<head></head>
<body>
<label class="btn btn-default pull-right"
role="button"
for="file-input">
Selecione os arquivos...
</label>
<span class="file-text"></span>
<input id="file-input"
type="file"
style="position:fixed;top:-999px;"
ngf-select
ngf-change="controller.onSelectFiles($files);"
ngf-multiple="true"
ngf-allow-dir="false"/>
</body>
</html> |
Bloco de código |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
title | Progress: sendSimple |
---|
linenumbers | true |
---|
collapse | true |
---|
|
DEFINE VARIABLE h_mail AS HANDLE NO-UNDO.
IF NOT VALID-HANDLE(h_mail) THEN DO:
RUN utp/ut-mail-api.p PERSISTENT SET h_mail.
END.
DEFINE VARIABLE c_to AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_cc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_bcc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_subject AS CHARACTER NO-UNDO INITIAL 'Teste API Progress - Datasul Mail Service':U.
DEFINE VARIABLE c_replayreply_to AS CHARACTER NO-UNDO INITIAL '[email protected]':U.
DEFINE VARIABLE c_from_alias AS CHARACTER NO-UNDO INITIAL 'Datasul Mail Service':U.
DEFINE VARIABLE lc_content_mail AS LONGCHAR NO-UNDO.
DEFINE VARIABLE l_html AS LOGICAL NO-UNDO INITIAL TRUE.
ASSIGN lc_content_mail = 'Teste de envio de e-mail pelo PROGRESS :D':U.
EXTENT (c_to) = 1.
ASSIGN c_to[1] = '[email protected]':U.
RUN sendSimple IN h_mail(
INPUT c_to,
INPUT c_cc,
INPUT c_bcc,
INPUT c_subject,
INPUT c_replayreply_to,
INPUT c_from_alias,
INPUT lc_content_mail,
INPUT l_html,
OUTPUT mptr_response,
OUTPUT i_response_code,
OUTPUT c_response_status
).
IF VALID-HANDLE(h_mail) THEN DO:
DELETE PROCEDURE h_mail.
END. |
Bloco de código |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
title | Progress: sendWithAttachment |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{utp/ut-mail-api.i}
DEFINE VARIABLE h_mail AS HANDLE NO-UNDO.
IF NOT VALID-HANDLE(h_mail) THEN DO:
RUN utp/ut-mail-api.p PERSISTENT SET h_mail.
END.
DEFINE VARIABLE c_to AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_cc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_bcc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_subject AS CHARACTER NO-UNDO INITIAL 'Teste API Progress - Datasul Mail Service':U.
DEFINE VARIABLE c_replayreply_to AS CHARACTER NO-UNDO INITIAL '[email protected]':U.
DEFINE VARIABLE c_from_alias AS CHARACTER NO-UNDO INITIAL 'Datasul Mail Service':U.
DEFINE VARIABLE lc_content_mail AS LONGCHAR NO-UNDO.
DEFINE VARIABLE l_html AS LOGICAL NO-UNDO INITIAL TRUE.
ASSIGN lc_content_mail = 'Teste de envio de e-mail pelo PROGRESS :D':U.
EXTENT (c_to) = 1.
ASSIGN c_to[1] = '[email protected]':U.
CREATE ttAttachment.
ASSIGN ttAttachment.fileName = '<NOME ANEXO 1>'.
COPY-LOB FROM FILE '<CAMINHO ANEXO 1>'
TO ttAttachment.fileContent NO-CONVERT NO-ERROR.
CREATE ttAttachment.
ASSIGN ttAttachment.fileName = '<NOME ANEXO 2>'.
COPY-LOB FROM FILE '<CAMINHO ANEXO 2>'
TO ttAttachment.fileContent NO-CONVERT NO-ERROR.
RUN sendWithAttachment IN h_mail(
INPUT c_to,
INPUT c_cc,
INPUT c_bcc,
INPUT c_subject,
INPUT c_replayreply_to,
INPUT c_from_alias,
INPUT lc_content_mail,
INPUT l_html,
INPUT TABLE ttAttachment,
OUTPUT mptr_response,
OUTPUT i_response_code,
OUTPUT c_response_status
).
IF VALID-HANDLE(h_mail) THEN DO:
DELETE PROCEDURE h_mail.
END. |
Bloco de código |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
title | Progress: sendWithAttachment |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{utp/ut-mail-api.i}
DEFINE VARIABLE h_mail AS HANDLE NO-UNDO.
IF NOT VALID-HANDLE(h_mail) THEN DO:
RUN utp/ut-mail-api.p PERSISTENT SET h_mail.
END.
DEFINE VARIABLE c_to AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_cc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_bcc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_subject AS CHARACTER NO-UNDO INITIAL 'Teste API Progress - Datasul Mail Service':U.
DEFINE VARIABLE c_replayreply_to AS CHARACTER NO-UNDO INITIAL '[email protected]':U.
DEFINE VARIABLE c_from_alias AS CHARACTER NO-UNDO INITIAL 'Datasul Mail Service':U.
DEFINE VARIABLE lc_content_mail AS LONGCHAR NO-UNDO.
DEFINE VARIABLE l_html AS LOGICAL NO-UNDO INITIAL TRUE.
ASSIGN lc_content_mail = 'Teste de envio de e-mail pelo PROGRESS :D':U.
EXTENT (c_to) = 1.
ASSIGN c_to[1] = '[email protected]':U.
CREATE ttAttachment.
ASSIGN ttAttachment.fileName = '<NOME ANEXO 1>'.
COPY-LOB FROM FILE '<CAMINHO ANEXO 1>'
TO ttAttachment.fileContent NO-CONVERT NO-ERROR.
RUN sendEmail IN h_mail(
INPUT c_to,
INPUT c_cc,
INPUT c_bcc,
INPUT c_subject,
INPUT c_replayreply_to,
INPUT c_from_alias,
INPUT lc_content_mail,
INPUT l_html,
INPUT '[email protected]',
INPUT 1, /* Notificar: -1. Nunca 1. Sucesso 2. Falha 3. Atraso */
INPUT 1, /* Tipo de Retorno: 1. Completo 2. Cabeçalho */
INPUT 1, /* Prioridade: 1. Alta 3. Normal 5. Baixa */
INPUT TABLE ttAttachment,
OUTPUT mptr_response,
OUTPUT i_response_code,
OUTPUT c_response_status
).
IF VALID-HANDLE(h_mail) THEN DO:
DELETE PROCEDURE h_mail.
END. |
Bloco de código |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
title | Progress: Report + Mail |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{utp/ut-mail-api.i}
{utp/ut-report-api.i}
DEFINE VARIABLE i_ocorrencia AS INTEGER NO-UNDO INITIAL 101552.
DEFINE VARIABLE c_report AS CHARACTER NO-UNDO INITIAL 'crm/rel_ratec_tecnico/':U.
DEFINE VARIABLE c_program AS CHARACTER NO-UNDO INITIAL 'program=/report/crm/crm0001':U.
DEFINE VARIABLE c_format AS CHARACTER NO-UNDO INITIAL 'html':U.
DEFINE VARIABLE c_dialect AS CHARACTER NO-UNDO INITIAL 'pt':U.
DEFINE VARIABLE l_publish AS LOGICAL NO-UNDO INITIAL TRUE.
DEFINE VARIABLE l_download AS LOGICAL NO-UNDO INITIAL TRUE.
DEFINE VARIABLE h_api AS HANDLE NO-UNDO.
DEFINE VARIABLE h_mail AS HANDLE NO-UNDO.
DEFINE VARIABLE h_report AS HANDLE NO-UNDO.
DEFINE VARIABLE lc_content AS LONGCHAR NO-UNDO.
DEFINE VARIABLE c_query_params AS CHARACTER NO-UNDO.
DEFINE VARIABLE i_response_code AS INTEGER NO-UNDO.
DEFINE VARIABLE c_response_status AS CHARACTER NO-UNDO.
DEFINE VARIABLE mptr_response AS MEMPTR NO-UNDO.
/* ************************************************** */
/* *** Busca os dados para impressão do relatório *** */
/* ************************************************** */
ASSIGN c_query_params = '&num_id_ocor=':U + STRING(i_ocorrencia).
IF NOT VALID-HANDLE(h_api) THEN DO:
RUN report/crm/crm0001.p PERSISTENT SET h_api.
END.
RUN getReportDataRPW IN h_api(INPUT TABLE ttReport, INPUT i_ocorrencia, OUTPUT lc_content, OUTPUT TABLE RowErrors).
IF VALID-HANDLE(h_api) THEN DO:
DELETE PROCEDURE h_api.
END.
/* ************************************************** */
/* *** Realiza a chamada para o Datasul Report *** */
/* ************************************************** */
IF NOT VALID-HANDLE(h_report) THEN DO:
RUN utp/ut-report-api.p PERSISTENT SET h_report.
END.
RUN print IN h_report (
INPUT c_report,
INPUT c_program,
INPUT c_format,
INPUT c_dialect,
INPUT l_publish,
INPUT l_download,
INPUT lc_content,
INPUT c_query_params,
OUTPUT mptr_response,
OUTPUT i_response_code,
OUTPUT c_response_status
).
IF VALID-HANDLE(h_report) THEN DO:
DELETE PROCEDURE h_report.
END.
IF i_response_code EQ 200 AND mptr_response NE ? THEN DO:
/* ************************************************** */
/* *** Agora enviamos por e-mail o HTML gerado *** */
/* ************************************************** */
IF NOT VALID-HANDLE(h_mail) THEN DO:
RUN utp/ut-mail-api.p PERSISTENT SET h_mail.
END.
DEFINE VARIABLE c_to AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_cc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_bcc AS CHARACTER NO-UNDO EXTENT.
DEFINE VARIABLE c_subject AS CHARACTER NO-UNDO INITIAL 'Teste API Progress - Datasul Mail Service':U.
DEFINE VARIABLE c_replayreply_to AS CHARACTER NO-UNDO INITIAL '[email protected]':U.
DEFINE VARIABLE c_from_alias AS CHARACTER NO-UNDO INITIAL 'Datasul Mail Service':U.
DEFINE VARIABLE lc_content_mail AS LONGCHAR NO-UNDO.
DEFINE VARIABLE l_html AS LOGICAL NO-UNDO INITIAL TRUE.
COPY-LOB FROM mptr_response TO lc_content_mail NO-CONVERT NO-ERROR.
EXTENT (c_to) = 1.
ASSIGN c_to[1] = '[email protected]':U.
CREATE ttAttachment.
ASSIGN ttAttachment.fileName = '<NOME ANEXO 1>'.
COPY-LOB FROM FILE '<CAMINHO ANEXO 1>'
TO ttAttachment.fileContent NO-CONVERT NO-ERROR.
RUN sendEmail IN h_mail(
INPUT c_to,
INPUT c_cc,
INPUT c_bcc,
INPUT c_subject,
INPUT c_replayreply_to,
INPUT c_from_alias,
INPUT lc_content_mail,
INPUT l_html,
INPUT '[email protected]',
INPUT 1, /* Notificar: -1. Nunca 1. Sucesso 2. Falha 3. Atraso */
INPUT 1, /* Tipo de Retorno: 1. Completo 2. Cabeçalho */
INPUT 1, /* Prioridade: 1. Alta 3. Normal 5. Baixa */
INPUT TABLE ttAttachment,
OUTPUT mptr_response,
OUTPUT i_response_code,
OUTPUT c_response_status
).
IF VALID-HANDLE(h_mail) THEN DO:
DELETE PROCEDURE h_mail.
END.
END. |
Anexos
View file |
---|
name | Datasul Mail Service - JavaMail.pptx |
---|
height | 250 |
---|
|