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