Estou com um problema na tentativa de executar PL/SQL anonimo para envio de email.
A pergunta é.. preciso de algum grant especifico para execução ? alguém sabe onde estou errando ?
Bloco anonimo
-- Declaração
DECLARE
--Variável que armazenará o endereço do servidor SMTP
HOSTEMAIL VARCHAR2(40);
-- Variável de Conexão com o servidor
CONEXAO UTL_SMTP.CONNECTION;
-- Variável do corpo de mensagem.
MESSAGEM VARCHAR2(500);
-- variável para o e-mail do Recipiente (Destinatário)
RECIPIENTE VARCHAR2(40);
-- Variável com o e-mail do Remetente
ENVIAR VARCHAR2(40);
-- Abrindo a programação! GO! GO!
BEGIN
-- Aqui iremos dizer qual é o e-mail dos Remetente
ENVIAR := 'remetente@xxxxx.com.br';
-- Nesse vamos dizer para qual e-mail será mandado.
RECIPIENTE := 'destinatario@xxxx.com.br';
-- Esse será para montar o corpo de mensagem completo.
MESSAGEM := 'Olá Teste de envio de e-mails direto do Oracle!';
-- O mais importante, aqui é onde temos que dizer qual o endereço do servidor de smtp. Nesse exemplo usei o meu.
HOSTEMAIL := '[servidor_smtp]';
-- Agora, iremos abrir o objeto Conexão
CONEXAO := utl_smtp.open_connection (HOSTEMAIL,25);
-- Procedimento para iniciar E-mail.
UTL_SMTP.HELO (CONEXAO,HOSTEMAIL);
-- Procedimento para preencher o campo DE: do E-mail. (Remetente)
UTL_SMTP.MAIL (CONEXAO,ENVIAR);
-- Procedimento para preencher o campo PARA: do E-mail (Destinatário)
UTL_SMTP.RCPT (CONEXAO,RECIPIENTE);
-- Procedimento para criar o Corpo do E-mail
UTL_SMTP.DATA (CONEXAO,MESSAGEM);
-- Procedimento paraencerrar o e-mail.
UTL_SMTP.QUIT (CONEXAO);
-- Sair do Script
END;
Erro recebido.
Relatório de erro:
ORA-24248: segurança extensível do BD XML não instalada
ORA-06512: em "SYS.UTL_TCP", line 17
ORA-06512: em "SYS.UTL_TCP", line 246
ORA-06512: em "SYS.UTL_SMTP", line 127
ORA-06512: em "SYS.UTL_SMTP", line 150
ORA-06512: em line 34