如何获得 outlook 的发件人地址 在OutlookApplication1ItemSend 的时候

解决方案 »

  1.   

    这个是OFFICE中的outlook不是系统自带的那个uses ActiveX, ComObj;const
      olFolderInbox = 6;            //默认收件箱
      olMailItem    = $00000000;    //文件夹类型为邮件var
     Outlook         : OLEVariant;
     NameSpace       : OLEVariant;
     Mails           : OLEVariant;
     I               : Integer;
    begin
      OleInitialize( nil );
      Outlook   := CreateOleObject('Outlook.Application');
      NameSpace := Outlook.GetNameSpace('MAPI');
      Mails := NameSpace.GetFolderFromID(EntryID); //邮件文件夹的EntryID
      //可以通过OutLookMAPI.GetDefaultFolder(olFolderInbox)来获得收件箱对象
      for I := Mails.Items.Count downto 1 do begin
       //   Mails.Items[I].SenderName;    //发件人
       //   Mails.Items[I].Subject;       //主题
       //   Mails.Items[I].ReceivedTime;  //时间
       //   Mails.Items[I].Size;          //大小
       //.....
      end;
      Mails := UnAssigned;
      NameSpace := UnAssigned;
      Outlook   := UnAssigned;
      OleUninitialize;
    end;
      

  2.   

    申明OnSend过程
    procedure Item_Send(var Cancel As Boolean = true);
    begin
    //如果将该函数的返回值设置为 False,则不发送项目
    end;/////////
    ///程序中
    AppointmentItem.Send=Item_Send;