通过oracle forms6i发送邮件

通过oracle forms6i发送邮件,oracle,email,plsql,while-loop,oracleforms,Oracle,Email,Plsql,While Loop,Oracleforms,我有以下代码 Declare Outlook_Object OLE2.OBJ_TYPE; Mail_Object OLE2.OBJ_TYPE; Item1 OLE2.OBJ_TYPE; Item2 OLE2.OBJ_TYPE; OLEPARAM ole2.list_type; var_Send OLE2.OBJ_TYPE; var_exit OLE2.OBJ_TYPE; var_Attach1 OLE2.OBJ_TYPE; var_Attach2

我有以下代码

Declare
  Outlook_Object OLE2.OBJ_TYPE;
  Mail_Object OLE2.OBJ_TYPE;

  Item1 OLE2.OBJ_TYPE;
  Item2 OLE2.OBJ_TYPE;

  OLEPARAM ole2.list_type;

  var_Send OLE2.OBJ_TYPE;
    var_exit OLE2.OBJ_TYPE;

  var_Attach1 OLE2.OBJ_TYPE;
  var_Attach2 OLE2.OBJ_TYPE;

BEGIN

SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY');

  Outlook_Object := OLE2.CREATE_OBJ('Outlook.Application'); 

  OLEPARAM := OLE2.CREATE_ARGLIST;
  OLE2.ADD_ARG(OLEPARAM,'MAPI');
  Mail_Object := OLE2.INVOKE_OBJ(Outlook_Object,'GetNameSpace',OLEPARAM);
  OLE2.DESTROY_ARGLIST( OLEPARAM );

--newMail
  OLEPARAM := OLE2.CREATE_ARGLIST;
  OLE2.ADD_ARG(OLEPARAM,0);
  Item1 := OLE2.INVOKE_OBJ(Outlook_Object,'CreateItem',OLEPARAM);
  OLE2.DESTROY_ARGLIST( OLEPARAM );

-- If you want to display outlook new message screen
-- Item2 := OLE2.INVOKE_OBJ(Item1,'Display');

  ole2.set_property(Item1,'To',:To);

  ole2.set_property(Item1,'Subject',:Subject);
  ole2.set_property(Item1,'Body',:Body);
 -- ole2.set_property(Item1,'Date',:F_DT);
  --ole2.set_property(Item1,'Date',:F_DT1);
   while :F_DT1 = sysdate 
   loop
    OLE2.RELEASE_OBJ( Item1);
    OLE2.RELEASE_OBJ( Mail_Object );
    OLE2.RELEASE_OBJ( Outlook_Object );
        var_Send := OLE2.INVOKE_OBJ(Item1,'Send');

        SET_APPLICATION_PROPERTY(CURSOR_STYLE,'DEFAULT');
        Message('Mail sent seccessfully.........');
        Message('Mail sent seccessfully.........');

        if :F_DT1 > :F_DT then
        exit_form;
        end if;
                F_DT1 := F_DT+1;
            end loop;
      end;
   I
此处F_DT1=邮件发送的起始日期。 F_DT=应发送邮件的日期。 例如,我在2017年12月8日有活动,我需要从2017年12月4日收到活动的提醒邮件,然后我将把F_DT1=2017年12月4日,F_DT=2017年12月8日

我没有遇到任何错误,但我也没有收到任何邮件。我的逻辑正确吗?

我更喜欢使用UTL_邮件(或UTL_SMTP)包从数据库发送邮件。为什么?因为我知道如何做到这一点,而不是您使用的代码:)

显然,我不能帮助解决最初的问题,但我可以提供一个解决办法


我知道这是一个月前的问题,所以你可能已经解决了这个问题。如果没有,如果您需要UTL_邮件方面的帮助,请说出来。

我更喜欢使用UTL_邮件(或UTL_SMTP)包从数据库发送邮件。为什么?因为我知道如何做到这一点,而不是您使用的代码:)

显然,我不能帮助解决最初的问题,但我可以提供一个解决办法

我知道这是一个月前的问题,所以你可能已经解决了这个问题。如果没有,如果您需要UTL_邮件的帮助,请说出来