Utilização UTL_SMTP

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

Ola pessoal.

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

Selecionar tudo

-- 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.

Selecionar tudo

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
Abraços.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

roda o DBCA e instala o pacote XML.
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

Creio que seja isso mesmo..

Alem desta instalação, não tinha nem os grants necessarios... Passei p DBA aqui, vamos esperar...

Não tinha nem os grants necessarios..

Abçs.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Responder
  • Informação