Sending Email via Outlook via forms
MasonELApr 20 2010 — edited Apr 22 2010I would like to send one email to several different people, can you please help me. The list of email addresses is stored in a table and I am planning to use a cursor to pull the information one name at a time, but I continually get webutil errors when attempting to add several emails, see code below:
em_app CLIENT_OLE2.OBJ_TYPE;
em_item CLIENT_OLE2.OBJ_TYPE;
em_recip_lst CLIENT_OLE2.OBJ_TYPE;
em_recips CLIENT_OLE2.OBJ_TYPE;
em_args CLIENT_OLE2.LIST_TYPE;
CURSOR get_recips IS SELECT email FROM table_a;
em_address varchar2(50);
begin
em_app := CLIENT_OLE2.create_obj('Outlook.Application');
em_args := CLIENT_OLE2.create_arglist;
CLIENT_OLE2.add_arg(em_args,0);
em_item := CLIENT_OLE2.invoke_obj(em_app,'CreateItem',em_args);
CLIENT_OLE2.destroy_arglist(em_args);
em_args := CLIENT_OLE2.create_arglist;
em_recip_lst :=CLIENT_OLE2.get_obj_property(em_item,'Recipients',em_args);
CLIENT_OLE2.destroy_arglist(em_args);
/*-- THE FOLLOWING SENDS EMAIL TO ONE PERSON
em_args := CLIENT_OLE2.create_arglist;
CLIENT_OLE2.add_arg(em_args,'email_address@xxx.xxx');
--CLIENT_OLE2.add_arg(em_args,'email_address@xxx.xxx');
em_recips := CLIENT_OLE2.invoke_obj(em_recip_lst,'Add',em_args);
CLIENT_OLE2.set_property(em_recips,'Type',1);
CLIENT_OLE2.destroy_arglist(em_args);*/
em_args := CLIENT_OLE2.create_arglist;
OPEN get_recips;
FETCH get_recips into em_address;
LOOP
EXIT WHEN get_recips%NOTFOUND;
CLIENT_OLE2.add_arg(em_args,em_address);
em_recips := CLIENT_OLE2.invoke_obj(em_recip_lst,'Add',em_args);
CLIENT_OLE2.set_property(em_recips,'Type',1);
FETCH get_recips into em_address;
END LOOP;
CLIENT_OLE2.destroy_arglist(em_args);
em_args := CLIENT_OLE2.create_arglist;
CLIENT_OLE2.invoke(em_recip_lst,'ResolveAll',em_args);
CLIENT_OLE2.set_property(em_item,'Subject','ALERT!');
CLIENT_OLE2.set_property(em_item,'Body','Please update!');
end if;
CLIENT_OLE2.invoke(em_item,'Save',em_args);
CLIENT_OLE2.destroy_arglist(em_args);
em_args := CLIENT_OLE2.create_arglist;
CLIENT_OLE2.invoke(em_item,'Send',em_args);
CLIENT_OLE2.destroy_arglist(em_args);
release_obj(em_app);
release_obj(em_recip_lst);
release_obj(em_recips);
release_obj(em_item);
Any help would be greatly appreciated! Thanks in advance...