Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Procedimiento con UTL_SMTP no envía correos

Estas en el tema de Procedimiento con UTL_SMTP no envía correos en el foro de Oracle en Foros del Web. Hola, Tengo un procedimiento que utiliza UTL_SMTP para enviar correos y que funciona perfectamente en el servidor de desarrollo (Solaris con Oracle 10g), sin embargo ...
  #1 (permalink)  
Antiguo 11/02/2010, 11:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Procedimiento con UTL_SMTP no envía correos

Hola,
Tengo un procedimiento que utiliza UTL_SMTP para enviar correos y que funciona perfectamente en el servidor de desarrollo (Solaris con Oracle 10g), sin embargo el mismo procedimiento no funciona en el servidor de produccion (Linux con Oracle 11g).
Lo curioso es que no aparece ningun mensaje de error, simplemente no hace nada...
Tal vez haya que subir unos servicios en el servidor, o instalar algun cliente, no lo se...
Alguna idea amigos?
  #2 (permalink)  
Antiguo 12/02/2010, 16:56
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Procedimiento con UTL_SMTP no envía correos

Ya solucioné el problema y lo posteo por si le sucede a alguien...
Lo que pasaba era que el Oracle 11g maneja un mayor nivel de seguridad que el 10g, y esto obliga a crear una lista ACL (Access Control Lists) donde se debe incluir a los usuarios que uno desea tengan acceso al servidor de envio de correos, los pasos son los siguientes:

-- Creación de la lista ACL
begin
dbms_network_acl_admin.create_acl (
acl => 'cualquier_nombre.xml',
description => 'Normal Access',
principal => 'CONNECT',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null
);
end;

-- Añadir al usuario a la lista
begin
dbms_network_acl_admin.add_privilege (
acl => 'cualquier_nombre.xml',
principal => 'nombre_usuario',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null);
end;

-- Relacionar la lista con el servidor de correos
begin
dbms_network_acl_admin.assign_acl (
acl => 'cualquier_nombre.xml',
host => 'IP_servidor_correos',
lower_port => 1,
upper_port => 10000);
end;
  #3 (permalink)  
Antiguo 15/02/2010, 01:05
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Respuesta: Procedimiento con UTL_SMTP no envía correos

Buen aporte ¡¡¡¡

Directo a mi directorio de sql's utiles.

salu2
  #4 (permalink)  
Antiguo 16/02/2010, 07:14
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Procedimiento con UTL_SMTP no envía correos

Gracias !!!
La verdad es muy útil. Pero me surge una duda. ¿Es posible asignar un host a más de un ACL? Es decir, asignar el host 'IP_servidor_correos' a otro acl, por ejemplo 'otro_nombre.xml'.
Haciendo pruebas mediante las consultas a diccionario (select * from DBA_NETWORK_ACLS;), la primera vez me aparece el host de correo asignado a cualquier_nombre.xml, pero cuando lo quiero asignar también a otro_nombre.xml, luego resulta que el host sólo queda al último acl asignado, no a los dos.

¿Qué os parece?

Gracias !!!

Etiquetas: correos, procedimiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:05.