Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Sending Email via Outlook via forms

MasonELApr 20 2010 — edited Apr 22 2010
I 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...
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 20 2010
Added on Apr 20 2010
19 comments
4,394 views