Re: how to sending e-mail through forms 6.0 or 4.5

From: Sunder Nochilur <Sunder.Nochilur_at_us.bosch.com>
Date: 2000/06/28
Message-ID: <8jd5u6$1vp$1_at_proxy2.fe.internet.bosch.de>#1/1


Use the following package.

PACKAGE BODY outlook IS
  session_outbox OLE2.OBJ_TYPE;
  session_outbox_message ole2.obj_type;
  message1 ole2.obj_type;
  msg_recp ole2.obj_type;
  recipient ole2.obj_type;
  msg_attach ole2.obj_type;
  attachment ole2.obj_type;
  session_address ole2.obj_type;
  find_name ole2.obj_type;
  session_calendar ole2.obj_type;
  session_calendar_task ole2.obj_type;
  task1 ole2.obj_type;

  procedure logon (profile in varchar2 default null , password varchar2 default null) is

    begin

      session := OLE2.create_obj('mapi.session');
      args := ole2.create_arglist;
      ole2.add_arg(args,profile);
      ole2.add_arg(args,password);
      ole2.invoke(session,'Logon',args);
      ole2.destroy_arglist(args);

    end;

  procedure logoff is
    begin

      ole2.invoke(session,'Logoff');
      ole2.release_obj(session);
      ole2.release_obj(session_outbox);
      ole2.release_obj(session_outbox_message);
      ole2.release_obj(message1);
      ole2.release_obj(msg_recp);
      ole2.release_obj(recipient);
      ole2.release_obj(msg_attach);
      ole2.release_obj(attachment);
--      ole2.release_obj(session_address);

    end;

  procedure send (recp in varchar2,

                 subject in varchar2,
                 text in varchar2,
                 attch in varchar2 default null)is
    begin
      session_outbox := ole2.get_obj_property(session,'outbox');
      session_outbox_message :=
ole2.get_obj_property(session_outbox,'messages');
      message1 := ole2.get_obj_property(session_outbox_message,'Add');
      ole2.set_property(message1,'subject',subject);
      ole2.set_property(message1,'text',text);
      msg_recp := ole2.get_obj_property(message1,'recipients');
      recipient := ole2.invoke_obj(msg_recp,'Add');
      ole2.set_property(recipient,'name',recp);
      ole2.set_property(recipient,'type',1);
      ole2.invoke(recipient,'resolve');
      if attch is not null then
        msg_attach := ole2.get_obj_property(message1,'attachments');
        attachment := ole2.invoke_obj(msg_attach,'add');
        ole2.set_property(attachment,'name',attch);
        ole2.set_property(attachment,'position',0);
        ole2.set_property(attachment,'type',1);
        ole2.set_property(attachment,'source',attch);
        args := ole2.create_arglist;
        ole2.add_arg(args,attch);
        ole2.invoke(attachment,'readfromfile',args);
        ole2.destroy_arglist(args);
      end if;
      args := ole2.create_arglist;
      ole2.add_arg(args,1);
      ole2.add_arg(args,0);
      ole2.invoke(message1,'send',args);
      ole2.destroy_arglist(args);
    exception
      when others then
        for i in 1..tool_err.nerrors loop
          message(tool_err.message);tool_err.pop;
        end loop;

    end;

  procedure address is
    begin
      session_address := ole2.get_obj_property(session,'AddressBook');     exception

      when others then
        for i in 1..tool_err.nerrors loop
          message(tool_err.message);tool_err.pop;
        end loop;

    end;

END; Sunder Received on Wed Jun 28 2000 - 00:00:00 CEST

Original text of this message