2
Forms 6: Enviar correo con adjunto a través de Outlook Mayo 7, 2009 Con este código nos permite añadir un mensaje en la bandeja de salida y luego enviarlo o mostrar el mensaje para ser enviado luego por el usuario. DECLARE v_outlookapp ole2.obj_type; v_namespace ole2.obj_type; v_mailitem ole2.obj_type; v_oleparam ole2.list_type; v_attachments ole2.obj_type; BEGIN v_outlookapp := ole2.create_obj(‘Outlook.Application’); v_oleparam := ole2.create_arglist; ole2.add_arg(v_oleparam, ‘MAPI’); v_namespace := ole2.invoke_obj(v_outlookapp, ‘GetNameSpace’, v_oleparam); ole2.destroy_arglist(v_oleparam); v_oleparam := ole2.create_arglist; ole2.add_arg(v_oleparam, 0); v_mailitem := ole2.invoke_obj(v_outlookapp, ‘CreateItem’, v_oleparam); ole2.destroy_arglist(v_oleparam); ole2.set_property(v_mailitem, ‘To’, ‘[email protected]’); ole2.set_property(v_mailitem, ‘Subject’, ‘Asunto’); ole2.set_property(v_mailitem, ‘Body’, ‘Texto del mensaje’); Añadimos el adjunto v_attachments := ole2.get_obj_property(v_mailitem, ‘Attachments’); v_oleparam := ole2.create_arglist; ole2.add_arg(v_oleparam, ‘C:\Temp\prueba.pdf’); ole2.invoke(v_attachments, ‘add’, v_oleparam); ole2.destroy_arglist(v_oleparam); Con esta línea invocamos el envío, si queremos simplemente abrir el Outlook para que pueda revisar el correo cambiamos ‘Send’ por ‘Display’ ole2.invoke(v_mailitem, ‘Send’); ole2.RELEASE_OBJ(v_mailitem); ole2.RELEASE_OBJ(v_namespace); ole2.RELEASE_OBJ(v_outlookapp); END; Sin adjunto sería parecido pero con menos código, ahí va el ejemplo:

send mail Forms 6

Embed Size (px)

Citation preview

Page 1: send mail Forms 6

Forms 6: Enviar correo con adjunto a través

de Outlook

Mayo 7, 2009

Con este código nos permite añadir un mensaje en la bandeja de salida y luego enviarlo

o mostrar el mensaje para ser enviado luego por el usuario.

DECLARE

v_outlookapp ole2.obj_type; v_namespace ole2.obj_type;

v_mailitem ole2.obj_type;

v_oleparam ole2.list_type; v_attachments ole2.obj_type;

BEGIN

v_outlookapp := ole2.create_obj(‘Outlook.Application’); v_oleparam := ole2.create_arglist;

ole2.add_arg(v_oleparam, ‘MAPI’);

v_namespace := ole2.invoke_obj(v_outlookapp,

‘GetNameSpace’, v_oleparam);

ole2.destroy_arglist(v_oleparam);

v_oleparam := ole2.create_arglist; ole2.add_arg(v_oleparam, 0);

v_mailitem := ole2.invoke_obj(v_outlookapp, ‘CreateItem’,

v_oleparam);

ole2.destroy_arglist(v_oleparam);

ole2.set_property(v_mailitem, ‘To’, ‘[email protected]’); ole2.set_property(v_mailitem, ‘Subject’, ‘Asunto’);

ole2.set_property(v_mailitem, ‘Body’, ‘Texto del mensaje’);

– Añadimos el adjunto

v_attachments := ole2.get_obj_property(v_mailitem,

‘Attachments’);

v_oleparam := ole2.create_arglist;

ole2.add_arg(v_oleparam, ‘C:\Temp\prueba.pdf’); ole2.invoke(v_attachments, ‘add’, v_oleparam);

ole2.destroy_arglist(v_oleparam);

– Con esta línea invocamos el envío, si queremos — simplemente abrir el Outlook para que pueda revisar

— el correo cambiamos ‘Send’ por ‘Display’

ole2.invoke(v_mailitem, ‘Send’);

ole2.RELEASE_OBJ(v_mailitem); ole2.RELEASE_OBJ(v_namespace);

ole2.RELEASE_OBJ(v_outlookapp);

END;

Sin adjunto sería parecido pero con menos código, ahí va el ejemplo:

Page 2: send mail Forms 6

DECLARE

v_outlookapp ole2.obj_type; v_namespace ole2.obj_type;

v_mailitem ole2.obj_type;

v_oleparam ole2.list_type; BEGIN

v_outlookapp := ole2.create_obj(‘Outlook.Application’);

v_oleparam := ole2.create_arglist; ole2.add_arg(v_oleparam, ‘MAPI’);

v_namespace := ole2.invoke_obj(v_outlookapp,

‘GetNameSpace’, v_oleparam); ole2.destroy_arglist(v_oleparam);

v_oleparam := ole2.create_arglist;

ole2.add_arg(v_oleparam, 0); v_mailitem := ole2.invoke_obj(v_outlookapp, ‘CreateItem’,

v_oleparam); ole2.destroy_arglist(v_oleparam);

ole2.set_property(v_mailitem, ‘To’, ‘[email protected]‘);

ole2.set_property(v_mailitem, ‘Subject’, ‘Asunto’); ole2.set_property(v_mailitem, ‘Body’, ‘Texto del mensaje

sin adjunto’);

– Con esta línea invocamos el envío, si queremos

— simplemente abrir el Outlook para que pueda revisar — el correo cambiamos ‘Send’ por ‘Display’

ole2.invoke(v_mailitem, ‘Send’);

ole2.RELEASE_OBJ(v_mailitem);

ole2.RELEASE_OBJ(v_namespace); ole2.RELEASE_OBJ(v_outlookapp);

END;