Envío de Email desde Oracle

Si hay otra forma de mandar correos por medio de forms, sin usar el paquete UTL_SMTP de la base de datos? Yo recuerdo que se podía hacer sin usar la base de datos en sí, sino haciendo que la forma utilizara OUTLOOK EXPRESS.
pero no se como. Podrias ayudarme? Gracias.

1 Respuesta

Respuesta
1
Aunque no te lo recomiendo, Forms permite la interacción cmediante interconexiones OLE ... Aqui tienes un ejemplo muy claro y utilizado ... Suerte.
Un Saludo
Declare
/*declaration of the Outlook Object Variables*/
application ole2.OBJ_TYPE;
hMailItem ole2.OBJ_TYPE;
hRecipients ole2.OBJ_TYPE;
recipient ole2.OBJ_TYPE;
/*declaration of the argument list*/
args OLE2.LIST_TYPE;
begin
/*create the Application Instance*/
application:=ole2.create_obj('Outlook.Application');
/*Create a Mail Instance by calling CreateItem Method and giving argument 0 with it,
you can find the item types in the explanation of the CreateItem Method
(0=olMailItem,1=olAppointmentItem, ?)*/
args:=ole2.create_arglist;
ole2.add_arg(args,0);
hMailItem:=ole2.invoke_obj(application,'CreateItem',args);
ole2.destroy_arglist(args);
/*Get the Recipients property of the MailItem object:
Returns a Recipients collection that represents all the Recipients for the Outlook item*/
args:=ole2.create_arglist;
hRecipients:=ole2.get_obj_property(hMailItem,'Recipients',args);
ole2.destroy_arglist(args);
/*Use the Add method to create a recipients Instance and add it to the Recipients collection*/
args:=ole2.create_arglist;
ole2.add_arg(args,'[email protected]');
recipient:=ole2.invoke_obj(hRecipients,'Add',args);
/* put the property Type of the recipient Instance to value needed (0=Originator,1=To,2=CC,3=BCC)*/
ole2.set_property(recipient,'Type',1);
ole2.destroy_arglist(args);
/*Resolve the Recipients collection*/
args:=ole2.create_arglist;
ole2.invoke(hRecipients,'ResolveAll',args);
/*set the Subject and Body properties*/
ole2.set_property(hMailItem,'Subject','Test OLE2 to Outlook');
ole2.set_property(hMailItem,'Body','this is body text');
/*Save the mail*/
ole2.invoke(hMailItem,'Save',args);
ole2.destroy_arglist(args);
/*Send the mail*/
args:=ole2.create_arglist;
ole2.invoke(hMailItem,'Send',args);
ole2.destroy_arglist(args);
/*Release all your Instances*/
release_obj(application);
release_obj(hRecipients);
release_obj(recipient);
release_obj(hMailItem);
end;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas