Com o OpenSSL> s_client -connect smtp.gmail.com:587 -starttls smtp, Gerei outro certificado para meu wallet e atualizei os ACL, mas mesmo assim ainda continua com erro para enviar na linha l_reply := sys.utl_smtp.starttls(L_MAIL_CONN);
CREATE OR REPLACE PROCEDURE PR_JUN_MAIL_NF_DEVOL
AS
VAR_CONTROLE NUMBER;
VAR_MENSAGEM VARCHAR2(32767);
L_MAILHOST VARCHAR2(64) := 'smtp.gmail.com';
P_USERNAME_ VARCHAR2(50) := 'adminjun@gmail.net';
P_PASSWORD_ VARCHAR2(50) := 'xxxxxxxx';
L_DE VARCHAR2(64) := 'Intranet';
L_FROM VARCHAR2(64) := 'adminjun@gmail.net';
k_wallet_path CONSTANT VARCHAR2(100) := 'file:/oracle/ora11g/owm/wallets';
k_wallet_password CONSTANT VARCHAR2(100) := 'xxxxxxxxxxxxx';
k_domain CONSTANT VARCHAR2(100) := 'localhost';
l_port INTEGER := 587;
l_reply utl_smtp.reply;
l_replies utl_smtp.replies;
TO_NAME VARCHAR2(200):= 'ti@gmail.net';
SUBJECT VARCHAR2(200):= 'NOTAS FISCAIS DE DEVOLUCAO EMITIDAS';
L_MAIL_CONN UTL_SMTP.CONNECTION;
BEGIN
VAR_CONTROLE:=1;
BEGIN
SELECT distinct 0
INTO VAR_CONTROLE
from TB_JUN_NFE nfe
inner join bgm_notafiscal bnf on nfe.codintnf_bgmnf = bnf.codintnf
inner join esfclass e on e.codclassfisc = bnf.codclassfisc
INNER join BGM_CLIENTE CLI on bnf.Codcli = CLI.CODCLI
INNER join CTR_FILIAL F on nfe.empresa = f.codigoempresa and nfe.filial = f.codigofl
WHERE NFE.DATAEMISSAO > to_date('01/02/2017', 'dd/mm/yyyy')
and upper(e.descclassfisc) like '%DEVOLU%'
AND NFe.Codintnf_Bgmnf || upper(decode(nfe.status,'A','AUTORIZADA', 'C','CANCELADA', 'I','INUTILIZADA', 'N','NORMAL', 'P','PROCESSANDO', 'R','REJEITADA')) not in (select jc.codintnf || upper(jc.statunf) from CONTROLE_NF_DEV JC);
EXCEPTION
WHEN OTHERS THEN
VAR_CONTROLE:=1;
end;
if VAR_CONTROLE = 0 then
l_reply := UTL_SMTP.OPEN_CONNECTION(
host => L_MAILHOST,
port => l_port,
c => L_MAIL_CONN,
wallet_path => k_wallet_path,
wallet_password => k_wallet_password,
secure_connection_before_smtp => FALSE);
Dbms_Output.Put_Line ('apos conectar');
l_replies := sys.utl_smtp.ehlo(L_MAIL_CONN, k_domain);
l_reply := sys.utl_smtp.starttls(L_MAIL_CONN);
l_replies := sys.utl_smtp.ehlo(L_MAIL_CONN, k_domain);
l_reply := sys.utl_smtp.auth(L_MAIL_CONN, P_USERNAME_, P_PASSWORD_, utl_smtp.all_schemes);
l_reply := sys.utl_smtp.mail(L_MAIL_CONN, L_FROM);
l_reply := sys.utl_smtp.RCPT(L_MAIL_CONN, TO_NAME);
l_reply := UTL_SMTP.OPEN_DATA(L_MAIL_CONN);
UTL_SMTP.WRITE_DATA( L_MAIL_CONN, 'FROM:' ||L_DE||'<'|| L_FROM|| '>' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA( L_MAIL_CONN, 'TO:' ||TO_NAME||UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA( L_MAIL_CONN, 'SUBJECT:' ||SUBJECT||UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'Content-Type: text/plain; boundary="gc0p4Jq0M2Yt08jU534c0p"'||UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'MIME-Version: 1.0'||UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, '--gc0p4Jq0M2Yt08jU534c0p' );
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'Content-Type: text/plain' );
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, ' '||UTL_TCP.CRLF);
VAR_MENSAGEM:='Nova(s) NFs de Devolucao, segue detalhes abaixo:' || chr(13) || chr(10) ;
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, VAR_MENSAGEM||UTL_TCP.CRLF);
for cur_NFDEV in (
select nfe.empresa,
TO_CHAR(nfe.FILIAL) || '-' || F.CIDADEFL AS FILIAL,
bnf.numeronf AS NUMERO,
TO_CHAR(NFe.Dataemissao, 'dd/mm/yyyy') AS EMISSAONF,
to_char(bNF.Valortotalnf, '999G999G990D00','NLS_NUMERIC_CHARACTERS='',.''') AS VALOR,
decode(bNF.Lanctointegradocpg, 'S', 'Sim', 'não') as INTEGRADA,
decode(nfe.status,'A','AUTORIZADA','C','CANCELADA','I','INUTILIZADA','N','NORMAL','P','PROCESSANDO','R','REJEITADA') as STATUS_NF,
fn_jun_ret_nf('O', nfE.Codintnf_Bgmnf) as NFentrada,
FORN.NRFORN,
FORN.RSOCIALFORN,
NFE.Codintnf_Bgmnf AS codnf
from TB_JUN_NFE nfe
INNER join bgm_notafiscal bnf on nfe.codintnf_bgmnf = bnf.codintnf
inner join esfclass e on e.codclassfisc = bnf.codclassfisc
INNER join BGM_CLIENTE CLI on bnf.Codcli = CLI.CODCLI
INNER join CTR_FILIAL F on nfe.empresa = f.codigoempresa and nfe.filial = f.codigofl
INNER JOIN BGM_FORNECEDOR FORN ON CLI.NRINSCRICAOCLI = FORN.NRINSCRICAOFORN
WHERE NFE.DATAEMISSAO > to_date('01/02/2017', 'dd/mm/yyyy')
and upper(e.descclassfisc) like '%DEVOLU%'
AND NFe.Codintnf_Bgmnf || upper(decode(nfe.status,'A','AUTORIZADA','C','CANCELADA','I','INUTILIZADA','N','NORMAL','P',
'PROCESSANDO','R','REJEITADA')) not in(select jc.codintnf || upper(jc.statunf) from CONTROLE_NF_DEV JC)
ORDER BY NFE.Codintnf_Bgmnf
) loop
VAR_MENSAGEM:='Num. NF: ' || cur_NFDEV.NUMERO || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Emp/ Filial: ' || cur_NFDEV.Empresa ||' / '|| cur_NFDEV.Filial || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Data Emissao: ' || cur_NFDEV.Emissaonf || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'NF devolvida: ' || cur_NFDEV.NFentrada || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Valor: R$ ' || cur_NFDEV.Valor || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Integrado CPG: ' || cur_NFDEV.Integrada || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Status da NF: ' || cur_NFDEV.Status_Nf || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Nr. Fornec.: ' || cur_NFDEV.Nrforn || chr(13) || chr(10);
VAR_MENSAGEM:=VAR_MENSAGEM || 'Razao Social: ' || cur_NFDEV.Rsocialforn || chr(13) || chr(10);
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, VAR_MENSAGEM || UTL_TCP.CRLF);
VAR_MENSAGEM:='------------------------------------------------------------------';
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, VAR_MENSAGEM || UTL_TCP.CRLF);
insert into controle_nf_dev (codintnf, numeronf, statunf, envio_email_abe, data_envio_emis)
values (cur_NFDEV.codnf, cur_NFDEV.NUMERO, cur_NFDEV.Status_Nf, 'S', sysdate);
END LOOP;
end if;
IF VAR_CONTROLE <> 1 THEN
commit;
l_reply := UTL_SMTP.CLOSE_DATA(L_MAIL_CONN);
l_reply := UTL_SMTP.QUIT(L_MAIL_CONN);
END IF;
END;
ACL PRIVILEGE IS_GRANT INVERT
/sys/acls/utl_mail_monitor.xml Connect true false
/sys/acls/utl_mail_monitor.xml use-client-certificates true false
/sys/acls/utl_mail_monitor.xml resolve true false
/sys/acls/utl_mail_monitor.xml use-passwords true false
HOST LOWER_PORT UPPER_PORT ACL
smtp.gmail.com 587 587 /sys/acls/utl_mail_monitor.xml
localhost 465 587 /sys/acls/utl_mail_monitor.xml
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_WALLET_ACL(
acl => 'utl_mail_monitor.xml',
wallet_path => 'file:/oracle/ora11g/owm/wallets/');
segui orientação desta pagina, mas sem sucesso https://github.com/YairPR/Oracle/wiki/E ... S----Gmail
será que alguém teria alguma ideia do que esta acontecendo?