Abro este tema de envio de eMails y SMS's desde Oracle y PL/SQL para que podamos comentar dudas sobre cómo utilizar los paquetes que nos permiten el envío de eMails desde la base de datos, y otros mecanismos para crear nuestros propios sistemas de alertas, o simplemente informativos.
En este comentario de betorey_24 ya podemos encontrar un método para enviar emails con UTL_SMTP.
Y después elicived también nos recomendaba consultar el artículo Sending e-mail from Oracle, de Burleson Consulting
- Versión para impresión
- Inicie sesión para enviar comentarios
Que tal Carlos, una molestia
Subido por isunza el 19 May, 2010 - 23:34
Que tal Carlos, una molestia he estado buscando en internet y no veo la forma de como enviar un SMS a un celular desde un PL/SQL, lo que he encontrado es que te lo manda pero como correo a tu cel y lo que me interesa es que sea un vil SMS ¿Sabes si Oracle tiene algo al respecto?
Saludos y Gracias.
El envio de SMS's depende
Subido por Carlos el 20 May, 2010 - 19:17
En respuesta a Que tal Carlos, una molestia por isunza
El envio de SMS's depende siempre de que las operadoras ofrezcan una interface para poder hacerlo, y cada una tiene su plataforma, y sus reglas. No creo que Oracle ofrezca ningún package que vaya actualizando con los protocolos de las operadoras telefónicas, por eso todo lo que encuentras es para enviar eMails.
No sé si lo has visto, pero hay operadoras que permiten enviar un eMail a una dirección que incluye el número de móvil, y ellas se encargan de hacer llegar el SMS al móvil. Es la opción más sencilla, pero dependes de si la operadora a la que envías el SMS ofrece este servicio. En EEUU lo tienen muchas, y lo llaman SMS gateway, es cuestión de investigar si la que tu utilizas lo ofrece. De momento puedes consultar este listado.
La otra opción (aparte de tener tu propia plataforma de mensajería ;)) es utilizar un servicio público de terceros que sí se dedican a 'entenderse' con las plataformas de las operadoras. Buscando también se puede llegar a encontrar alguno, aunque el servicio no suele ser gratuíto.
En el blog Inside Oracle APEX publican un ejemplo sobre cómo enviar SMS's con un procedure PL/SQL utilizando los servicios web de Esendex, y un usuario de prueba que has de crearte primero.
Ya nos dirás si al final lo consigues!
Buenos días, Estoy intentando
Subido por LORENA (no verificado) el 10 Agosto, 2010 - 13:40
Buenos días,
Estoy intentando enviar un mail con una imagen desde Oracle con PL/SQL. Consigo hacerlo adjuntando la imagen, pero lo que quiero es que vaya en el cuerpo del mensaje. ¿Alguien puede ayudarme?.
Muchas gracias
hola, Tambien estoy
Subido por jonaesp el 27 Enero, 2011 - 14:10
En respuesta a Buenos días, Estoy intentando por LORENA (no verificado)
hola, Tambien estoy intentando enviar una imagen en el cuerpo del correo desde oracle. Favor su ayuda si alguien sabe.
Microsoft Outlook no soporta
Subido por guileest el 24 Marzo, 2011 - 06:40
En respuesta a hola, Tambien estoy por jonaesp
Microsoft Outlook no soporta en el BOBY imagenes de fondo, si lo que quiere es poner imagenes en el BODY (ya sea por DIV's o por TR's) DIRECTAMENTE NO SE PUEDEN INSERTAR. Lo que puedes hacer es guardarlas en un Directorio de un Servidor WEB y poner la ruta ha dicha imagen en el HTML o bien usando un CSS.
Ojala y te sirva de algo la respuesta.
Hola Carlos, Quisiera ver si
Subido por Manuel el 8 Junio, 2011 - 22:01
Hola Carlos,
Quisiera ver si Ud. o alguna otra persona de las que aquí visitan me pueden hacer el favor de ayudarme.
Es que necesito enviar un correo desde PL/SQL a través de una cuenta de gmail.
Como el servidor smtp.gmail.com requiere de conexión segura, se me ha hecho imposible.
¿tendrán ustedes algún procedimiento que resuelva esto?
Un millón de Gracias.
Ah!, me faltó decirle que uso
Subido por Manuel el 8 Junio, 2011 - 22:06
Ah!, me faltó decirle que uso Oracle 10g.
Hola Manuel He encontrado en
Subido por Carlos el 9 Junio, 2011 - 00:07
En respuesta a Ah!, me faltó decirle que uso por Manuel
Hola Manuel
He encontrado en el post PL/SQL and Gmail (or UTL_SMTP with SSL) del blog Monkey on Oracle una solución que a lo mejor te sirve.
En el post se explica que UTL_SMTP no soporta SSL, como ya has podido comprobar, y propone salvar el inconveniente utilizando Stunnel, una herramienta que permite crear una capa SSL sobre la conexión.
Ya nos contarás si te funciona..
Hola Carlos, Te agradezco
Subido por Manuel el 9 Junio, 2011 - 15:44
Hola Carlos,
Te agradezco infinitamente tu rápida respuesta.
Ese post que me envías, pues lo probé en estos 3 días en que ando buscando la solución a ese problema y no pude terminarlo.
Hay una primera parte donde se instala el Stunnel y luego se comprueba usando telnet localhost 1925 y debe dar el resultado: 220 mx.google.com ESMTP 5sm18031572eyh.34
Hasta ahí todo mee fue bien, pero de ahí hacia abajo NO logré hacerlo ... lógicamente debe ser algo que no estoy entendiendo.
Por ejemplo, debajo de:
" Para crear una lista de control de acceso para el usuario de la aplicación, y que le permite conectarse a localhost en el puerto 1925, haga lo siguiente:"
viene un código que no logro entender si se trata de un PROCEDURE, me parece como si fueran 3 PROCEDURE, tampoco me doy cuenta si esos procedimientos lo ejecuto una sola vez.
Volveré a intentar a ver si logro algo ... si Ud. tiene algún comentario que darme, se lo agradezco.
Gracias.
En el código que comentas,
Subido por Carlos el 11 Junio, 2011 - 14:27
En respuesta a Hola Carlos, Te agradezco por Manuel
En el código que comentas, por lo que veo se está utilizando el package dbms_network_acl_admin para configurar la conexión sobre la que se está utilizando Stunnel. No es un procedure, son simplemente tres pasos previos que tienes que ejecutar directamente para que después el procedure funcione, una inicialización previa.
Hola Carlos: Soy nuevo
Subido por diegozaw el 4 Junio, 2013 - 17:55
Hola Carlos:
Soy nuevo aqui, me parece muy interesante el blog. Necesito mandar un e.mail con PLSQL, lo enviar, pero no se como adjuntar un archivo, agradeceria tu ayuda. Muchas gracias.
Pues la verdad es que yo no
Subido por Carlos el 6 Junio, 2013 - 23:13
En respuesta a Hola Carlos: Soy nuevo por diegozaw
Pues la verdad es que yo no lo he hecho nunca.
Supongo que tendrás que revisar las opciones de UTL_SMTP para ver si se pueden adjuntar archivos al email, o a lo mejor alguien que lo haya probado alguna vez nos pueda ayudar..
Otra duda... Quiero enviar
Subido por diegozaw el 10 Junio, 2013 - 13:20
Otra duda... Quiero enviar mail comun desde la base de datos, ya lo logre hacer con SYS pero quiero hacerlo con otro usuario y no me deja, me da error de que no tiene habilitado ACL.
Cuando quiero ejecutar el siguiente codigo para crear ACL:
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
'utl_smtp.xml',
'SMTP Access',
'USUARIO',
TRUE,
'connect',
null,
null
);
COMMIT;
END;
y los otros 2 procedimientos que siguen tampoco me deja, porque me dice que esta corrupto el package body DBMS_NETWORK_ACL_ADMIN.
Sabes como puedo solucionar eso?
Hola Diego Si el código del
Subido por Carlos el 10 Junio, 2013 - 17:47
En respuesta a Otra duda... Quiero enviar por diegozaw
Hola Diego
Si el código del package está corrupto tendrías que repararlo volviendo a cargar el código del package. Te enlazo un post que explica cómo reparar packages inválidos.
Pero sobretodo asegúrate antes de tocar nada de que realmente el cuerpo del package no está bien, ya que la operación de recrear y recompilar los packages y vistas del catálogo no deja de ser delicada.
Como explican en el post, antes de nada, para comprobar el estado general utiliza a sentencia
SELECT r.comp_name, r.version, r.status FROM dba_registry r;Hice todo lo que decia pero
Subido por diegozaw el 10 Junio, 2013 - 23:16
Hice todo lo que decia pero no me funciona, es mas me compila todo menos el package DBMS_NETWORK_ACL_ADMIN.
Tengo otra base de datos que tambien tiene corrupto ese package pero igual envia con otro usuario distinto a SYS, es muy raro.
Buscando un poco he
Subido por Carlos el 11 Junio, 2013 - 22:38
En respuesta a Hice todo lo que decia pero por diegozaw
Buscando un poco he encontrado este post donde comentan que para utlizar ACL se ha de tener instalado previamente XML DB, ya que las ACL se almacenan en XML DB:
The 11g allows access to external packages UTL_TCP, UTL_HTTP, UTL_SMTP, UTL_MAIL, UTL_INADDR, DBMS_LDAP, but the access must be granted explicitly. Please note that ACLs are stored in XML DB and user must install XML DB for the use of ACL, if not installed.
Podría ser eso, comprueba si tienes instalado XML DB, y prueba suerte de nuevo :)
Ahora voy a probar.
Subido por diegozaw el 14 Junio, 2013 - 00:20
Ahora voy a probar. Muchisimas gracias Carlos.
Hola Carlos Esta buenisimo el
Subido por caroll1979 el 20 Julio, 2013 - 02:56
Hola Carlos
Esta buenisimo el tema, pero tengo una duda. Yo cree ya una ACL direccionando al correo de la empresa y todo funciono perfecto.
Ahora necesito utilizar gmail, solo funciona con Stunnel? debe instalarse en el servidor donde este la base de datos?
gracias por la ayuda
Hola Carlos, mi pregunta es:
Subido por Yesenia el 26 Julio, 2013 - 05:38
Hola Carlos, mi pregunta es: como se puede recibir correos mediante Oracle, poder obtener el remitente, asunto, cuerpo del mensaje y los archivos adjuntos? muchas gracias por la ayuda
La verdad es que nunca he
Subido por Carlos el 27 Julio, 2013 - 10:23
En respuesta a Hola Carlos, mi pregunta es: por Yesenia
La verdad es que nunca he utilizado Oracle para recibir o almacenar correos. No sé si existe algún package específico que te permita parsear directamente los campos sobre una tabla, y además almacenar ficheros adjuntos.
Si no, lo que seguro que encontrarás es alguna utilidad externa para convertir los mails a XML, y después podrías importarlos a Oracle con las utilidades para trabajar con XML.
Hola, cómo puedo enviar
Subido por Ivi (no verificado) el 25 Febrero, 2014 - 19:39
Hola, cómo puedo enviar emails a otros dominios como hotmail, etc? Internamente puedo enviar emails, pero para enviar externos me sale ORA-29279:SMTP permanent error: 550 5.7.1 Unable to relay.
Gracias de antemano
Hola Carlos, Actualmente
Subido por Esteban (no verificado) el 17 Octubre, 2014 - 22:49
Hola Carlos,
Actualmente existe un procedimiento que esta utilizan el utl_SMTP. Los correos salen perfectamente sin ningun problema. Sin embargo luego de varios dias, resulta que los correos no salen, entonces bajo la base de datos e inmediatamente empiezan a salir. Sabes que podrá ser el problema? Algun parametro en la base de datos?
Muchas gracias por su ayuda.
saludos,
Hola, estoy presentando
Subido por Jesus (no verificado) el 1 Octubre, 2015 - 21:05
En respuesta a Hola Carlos, Actualmente por Esteban (no verificado)
Hola, estoy presentando exactamente el mismo problema que tu. ¿Pudiste resolverlo?
De antemano gracias por tu respuesta.
Buenos dias...hay alguna
Subido por Jean Carlos Oyague (no verificado) el 14 Abril, 2015 - 16:36
Lo que yo tengo es un archivo
Subido por Manuel Garcia (no verificado) el 16 Abril, 2015 - 15:11
En respuesta a Buenos dias...hay alguna por Jean Carlos Oyague (no verificado)
Hola Carlos, estoy probando
Subido por Lumalau (no verificado) el 20 Enero, 2017 - 22:25
Hola Carlos, estoy probando UTL_MAIL sobre una Base Oracle 11G (que utiliza UTL_SMTP haciendo mas facil la programacion del PL/SQL para enviar mails).
Pero me encuentro con un problema que no logro resolver. Para descartar un tema de conectividad use el UTL_SMTP y resolvio perfecto. Se enviaron los mails. Ahora cuando utilizo el UTL_MAIL me da un error extraño de tipo de datos.
Intente cambiar todo al tipo de dato definido en el PR de UTL_SMTP y nada.
Copio debajo el codigo ORA que me arroja:
La linea #19 se corresponde con la llamada al UTL_MAIL.SEND()
La llamada la hago asi: EXEC PRC_SEND_MAIL('laura@dominio', 'laura@dominio');
y te paso el código porque no le encuentro la vuelta.
/ Les agradecere muchisimo vuestras colaboraciones.