原文:outlook 会议室

但是,里面的方法只能用于发送普通电子邮件。如果要发起会议之类的特殊邮件的话,可以C#调用Outlook API,自身的API。

创建项目后,为它添加.NET引用:“Microsoft.Office.Interop.Outlook"的引用,即可调用,需要注意的是,在添加的时候,注意一下OFFICE版本号。

在C#调用Outlook API发起会议的过程中,遇到了一个问题:

创建完一个约会条目后,找了很久没找到如何为这一约会指定“发件人”,后来一想,Window CF 中,查找人员信息有个OutlookSession的东东,

那这Outlook会不会有同样的方式呢,经过测试,还真的找到方法,原来,它的API指定的发件人是和你机上运行的Outlook的帐户设置直接相关的。

通过 ApplicationClass.Session.Accounts即可找到您设置的帐户集合,需要特别特别注意的是,在这里,取某个人员时,集合的索引是从1开始,而不是

从0开始。 找到相关的帐户后,可以通过 AppointmentItem.SendUsingAccount 属性来指定约会的发件人。但是,如果我不使用Outlook里帐户设置的帐户集合,而要指定其它的邮件帐户来发送邮件时该怎么弄?到现在也没有找到或发现办法,希望知道的达人们能

指点一下门路,拜谢先~~~~

下面是测试的代码,在WIN2003+OFFICE12下运行通过,成功创建会议:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Microsoft.Office.Interop.Outlook;
  5. ////////////////////
  6. /* 调用Outlook api 发起会议
  7. /* mcjeremy@cnblogs.com
  8. ////////////////////
  9. namespace OutlookAPI
  10. {
  11. class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. try
  16. {
  17. ApplicationClass oApp =
  18. new Microsoft.Office.Interop.Outlook.ApplicationClass();
  19. //会议是约会的一种
  20. AppointmentItem oItem = (AppointmentItem)oApp.CreateItem(
  21. OlItemType.olAppointmentItem);
  22. oItem.MeetingStatus = OlMeetingStatus.olMeeting;
  23. oItem.Subject = "主题";
  24. oItem.Body = "内容";
  25. oItem.Location = "地点";
  26. //开始时间 
  27. oItem.Start = DateTime.Now.AddDays(1);
  28. //结束时间
  29. oItem.End = DateTime.Now.AddDays(2);
  30. //提醒设置
  31. oItem.ReminderSet = true;
  32. ;
  33. //是否全天事件
  34. oItem.AllDayEvent = false;
  35. oItem.BusyStatus = OlBusyStatus.olBusy;
  36. //索引从1开始,而不是从0
  37. //发件人的帐号信息
  38. oItem.SendUsingAccount = oApp.Session.Accounts[2];
  39. //添加必选人
  40. Recipient force = oItem.Recipients.Add("mailuser2@mailserver.com");
  41. force.Type = (int)OlMeetingRecipientType.olRequired;
  42. //添加可选人
  43. Recipient opt = oItem.Recipients.Add("mailuser3@p.mailserver.com");
  44. opt.Type = (int)OlMeetingRecipientType.olOptional;
  45. //添加会议发起者
  46. Recipient sender = oItem.Recipients.Add("mailuser1@mailserver.com");
  47. sender.Type = (int)OlMeetingRecipientType.olOrganizer;
  48. oItem.Recipients.ResolveAll();
  49. //oItem.SaveAs("d:/TEST.MSG", OlSaveAsType.olMSG);
  50. oItem.Send();
  51. //MailItem mItem = (MailItem)oApp.CreateItem(OlItemType.olMailItem);
  52. //Recipient rTo = mItem.Recipients.Add("****");
  53. //rTo.Type = (int)OlMailRecipientType.olTo;
  54. //Recipient rCC=mItem.Recipients.Add("****");
  55. //rCC.Type = (int)OlMailRecipientType.olCC;
  56. //Recipient rBC = mItem.Recipients.Add("****");
  57. //rBC.Type = (int)OlMailRecipientType.olBCC;
  58. Console.WriteLine("OK");
  59. }
  60. catch (System.Exception ex)
  61. {
  62. Console.WriteLine(ex.Message);
  63. }
  64. Console.ReadLine();
  65. }
  66. }
  67. }

以上介绍C#调用Outlook API,希望对你有所帮助。

outlook 会议室的更多相关文章

  1. OutLook会议室预定提醒

    项目组采用敏捷开发管理,每两周一个迭代.写个工具做会议室预定. 代码下载:https://download.csdn.net/download/linmilove/10547579 Appointme ...

  2. Redis内存数据库在Exchange会议室的应用

    本文论述了现有Exchange会议室应用现状和不足之处,并详细介绍了Redis内存数据库在Exchange会议室的应用,并给出了一种高性能的应用架构及采用关键技术和关键实现过程,最终实现大幅改进系统性 ...

  3. 启明星会议室预定系统Outlook版开始支持Exchange2013与Office365版

    版本启明星会议室预定系统支持Exchange2013与微软云服务Office365版.(注意:Exchange2007与Exchange2010也适合此版本) 1.安装 首页,安装类似启明星普通的会议 ...

  4. Mac Outlook 2016 无法打开会议室日历

    问题:Mac Outlook 2016 无法打开会议室日历信息,报错截图如下: 解决方案: Set-MailboxFolderPermission -Identity XXX@xxx.com:\日历 ...

  5. 启明星Exchange/outlook预定会议室终端显示解决方案

    启明星会议室预定系统(Exchange2007及其以上版本,)终端调用说明 (一)技术原理 系统采用三级刷新方式,以尽可能减少对服务器的访问压力. (1) exe程序,每隔5分钟访问Exchange, ...

  6. 跟着未名学Office - 高效工作Outlook

    目录 第一篇邮件与联系人    1 第一节    使用与技巧    1 第二节    高效    11 第二篇    事务助手    21 第一节    日程管理    21 第二节    任务    ...

  7. Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用

    通过本文你将学会如下内容: 1,如何使用Xamarin开发跨平台(Windows,Android,iOS)应用. 2,如何使用微软的登录界面登入Microsoft账号. 3,如何使用Outlook邮箱 ...

  8. Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用(后续)

    在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]里面提到了Microsoft 身份认证,其实这也是一大块需要注意的地方,特作为后续补充这些知识点.上章是使用了Microsof ...

  9. 在Outlook中查看预览SharePoint文档库的文档

    本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...

随机推荐

  1. target-action传值

    Target-Action传值 实质就是:A页面要给B页面传值,A就提供接口出去,抓A到B内部来,A间接调用自己内部方法(相当于,A把自己内部需                     要操作的方法, ...

  2. HDU1160(LIS)

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 题意:求体重下降.速度添加的样例最多有多少个 依据体重降序排一下,然后求速度的最长上升子序列 , ...

  3. [置顶] think in java interview-高级开发人员面试宝典(二)

    从现在开始,以样题的方式一一列出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题. 这些题目来自于各个真实的公司,公司名 ...

  4. WiX Toolset

    原文:WiX Toolset 公司换软件打包平台,弄了一个月,Wix toolset的中文资料真的不多,逼着自己看了不少英文资料,终于弄懂了WiX打包的过程,做出了满足要求的安装包 一点基本概念:(F ...

  5. .NET开发者必备的11款免费工具

    原文:.NET开发者必备的11款免费工具 如今,HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担.本文为开发者介绍了 ...

  6. Ohloh研究报告

    1.底       由于近期接合ospaf同样是一个开源项目的成熟度分析工具,由于该项目现在Ohloh我们有共同的东西,这么ohloh我们进行了调查.       简单的说,初始ohloh是一个代码搜 ...

  7. Java变量参数

    Java1.5添加新功能:可变参数:它适用于参数不确定性的数量,判断形势的类型.java变量参数数组操作. 特点: 1.今天的参数列表只能持续. 2.省略号(...)位于变量类型和变量名之间,前后有无 ...

  8. 持续集成Jenkins + robot framework + git

    Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugi ...

  9. HTTPS那个东西(一)-HTTPS原理

    HTTPS那个东西(一) 最近看了<http权威指南>几个章节,对HTTPS随着节,了一些资料,遂打算记录一下心得.写的仓促,肯定有非常多错误的地方,欢迎大家指正. 1.HTTP是什么 那 ...

  10. 6天通吃树结构—— 第五天 Trie树

    原文:6天通吃树结构-- 第五天 Trie树 很有段时间没写此系列了,今天我们来说Trie树,Trie树的名字有很多,比如字典树,前缀树等等. 一:概念 下面我们有and,as,at,cn,com这些 ...