En este vídeo configuramos el correo electrónico en Oracle Apex, para ello necesitarás permisos de sys y también tener acceso al workspace de administración (internal).
También encontrarás un ejemplo de envío de correo electrónico a través de un proceso PLSQL usando la función APEX_MAIL.
En el siguiente enlace encontrarás todo lo necesario para el envío de correos electrónicos y también como adjuntar archivos a tu correo a través de la función APEX_MAIL.ADD_ATTACHMENT, la cual requiere un simple blob como archivo.
Documentación de APEX_MAIL:
https://docs.oracle.com/cd/E14373_01/apirefs.32/e13369/apex_mail.htm#AEAPI342
Servidor de correos que te recomiendo:
https://sendgrid.com/ Es un api que te servirá para hacer tus pruebas de envío de correos desde Oracle Apex, el procedimiento de configuración es el mismo. No obstante, puedes usar el servidor de correo que mejor te parezca, en teoría deberá ser lo mismo a lo mostrado en el vídeo.
Post sugerido:
Curso Gratuito de Oracle Apex
https:https://apex-developers.com/curso-gratis-de-oracle-apex-en-espanol/
Por favor si te sirvió el vídeo, invítame un café dando clic a los anuncios, me ayuda muchísimo para no dormir y poder hacer más posts, además de poder pagar el hosting y el dominio de este blog. 😎
este error ( “ORA-06502: PL/SQL: error : invalid LOB locator specified: ORA-22275 numérico o de valor”) se los arroja por que aun no han configurado su ACL y el parametro SMTP_OUT_SERVER tienen que setearlo con el valor del host de salida del correo, ejemplo:
show parameter SMTP_OUT_SERVER ”,
DESCRIPTION => ”,
PRINCIPAL => ”,
IS_GRANT => true,
PRIVILEGE => ‘connect’
);
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE
(
ACL => ”,
PRINCIPAL => ”,
IS_GRANT => true,
PRIVILEGE => ‘resolve’
);
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL
(
ACL => ”,
HOST => ”
);
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘Error while granting the ACL: ‘|| SQLERRM);
END;
/
e igual configuren el paquete UTL_MAIL
en la BD, se pueden guiar de esta nota de oracle:
ORA-24247 Using UTL_TCP, UTL_HTTP, UTL_SMTP And UTL_MAIL With 11gR1 Or Later (Doc ID 1209644.1)
saludos compas espero les sirva.
Hola, me puedes ayudar por favor, tengo un error ORA-29019: La versión del protocolo no es correcta.
Hola… Muy bueno el sitio..,. Recien lo estoy descubriendo.
Sabes que estoy intentando enviar correo usando una cuenta del gmail y no me es posible. Consistentemente me da el error ORA-29278: SMTP transient error: 421 Service not available
Me di cuenta que no había creado la ACL correctamente (solo ejecuté el script que sale en el procedimiento de instalación para habiliar el envío de correos).
Te cuento que esa cuenta la usamos con una applicación 6i que hace un host y ejecuta una api de sendmail y nos funciona correctamente.
La acl se creo con este código:
DECLARE
l_acl VARCHAR2(100) := ‘acceso_smtp.xml’;
l_desc VARCHAR2(100) := ‘Para el uso de la facilidad APEX_MAIL’;
l_principal VARCHAR2(30) := ‘APEX_190200’; — EN MAYÚSCULAS
l_host VARCHAR2(100) := ‘smtp.gmail.com’; –nombre del host
BEGIN
— Crea el nuevo ACL
— Proveer privilegios de conexión
dbms_network_acl_admin.create_acl(l_acl, l_desc, l_principal, TRUE, ‘connect’);
— Permisos de resolución de DNS
dbms_network_acl_admin.add_privilege(l_acl, l_principal, TRUE, ‘resolve’);
— Pasamos lo parámetros nombre del acl y host
dbms_network_acl_admin.assign_acl(l_acl, l_host);
COMMIT;
END;
El mail lo estamos intentando armar desde TOAD, pero nada que nos funciona. Entiendo que el servidor de gmail nos está rebotando el envío:
begin
apex_util.set_workspace(p_workspace => ‘GPROS_APEX’);
apex_mail.send(
p_to => ‘myluism@yahoo.com’,
p_from => ‘noreplyvrix@gmail.com’,
p_body => ‘Esta es una prueba básica de la utilidad APEX_MAIL.’ || utl_tcp.crlf,
p_subj => ‘Prueba Básica de la utilidad APEX_MAIL.’);
commit;
end;
Los datos de configuración son :smtp.gmail.com, 587, noreplyvrix@gmail.com
Intenté crear una cuenta en el sitio que recomiendas pero no me lo permite.
Alguna idea? Gracias anticipadas
Buen día gracias por el manual, pero me esta dando el error ORA-29261: bad argument, como hago para saber exactamente porque me esta dando este error, he buscado y me dicen que es problema del UTL_MAIL, otros UTL_SMTP y asi, pero no se como hacer un seguimiento o ver el debug a ver si encuentro el motivo.
Gracias
Hola Kike, estoy utilizando esta funcionalidad pero me genera el siguiente error “ORA-06502: PL/SQL: error : invalid LOB locator specified: ORA-22275 numérico o de valor”, no logro identificar cual es el error, porque en ambiente de pruebas si funciona y en producción no.
Buenas tardes, te saludo desde Costa Rica
Interesante el tema de correo electrónico desde apex, muy bueno. sin embargo tengo una pregunta Quique.
como se realizar un JOB desde apex para que envié un correo electrónico, por ejmplo que e dispare todos los 30 de Junio de cada ano, el correo recordando que ya puede utilizar la aplicación y llenar el fomulario xxx, No se si me explique.
Muchas gracias