在Outlook 2003中的profile里配置了多个账号,用Outlook COM模块如何能访问到这个profile中任意账户的文件夹?那位有这方面经验,还请不吝赐教。谢谢!

解决方案 »

  1.   

    不推荐用Outlook的API。outlook的API是基于客户端的,用来开发OUTLOOK的插件,如果用它来访问所有profile,必须知道所有用户登录帐号,然后用inpersonation在程序中假扮登录,可以实现但很烦,而且保证不了是最新的profile。推荐用exchange的API以管理员登录直接访问exchange server。如果是外面的邮件服务器,比如hotmail,那就没办法了。
      

  2.   

    我不能获取exchange server的管理员来登陆,而且的确需要配置一些ISP的邮箱,比如hotmail,gmail,yahoo,aol等等等等。不过配置的profile是在本地的测试机上,只能用outlook的api来访问各个profile,用户名和密码都是已知的,这一点应该没问题。我想请教一下1楼的朋友,有什么好的方法来解决我的问题吗?而且你说的inpersonation是独立的COM组件吗?能详细介绍一下吗?还有一个问题,跟登陆有关,我用outlook的COM组件中的logon方法登陆profile感觉有问题呢?无论如何登陆的都是最后一次登陆的profile,这是怎么回事?谢谢!
      

  3.   

    这个问题,我已经解决了,通过Outlook.Application.Session.Folders就可以选择任意当前profile下的第一级文件夹了,然后在依次选择目的文件夹,就可以了,谢谢大家的支持。但是还有另外的问题,
    1. 对profile的logon方法有问题,不能正确登陆指定的profile,感觉只是对最后一次登陆的profile进行操作
    2. 一个profile中配置多个账户是,发邮件时,如何选择指定的账户进行发送?在手动操作上,新建一封邮件,在编辑邮件窗体上有按钮可以选择用profile下哪一个账户进行发送邮件,这个操作怎么对应COM接口的应用?这两个问题我会另外发起问题帖子,希望大家继续支持,谢谢!