outlook 会议室

原文: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. /* [email protected]gs.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. oItem.ReminderMinutesBeforeStart = 5;
  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("[email protected]");
  41. force.Type = (int)OlMeetingRecipientType.olRequired;
  42. //添加可选人
  43. Recipient opt = oItem.Recipients.Add("[email protected]");
  44. opt.Type = (int)OlMeetingRecipientType.olOptional;
  45. //添加会议发起者
  46. Recipient sender = oItem.Recipients.Add("[email protected]");
  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,希望对你有所帮助。

时间: 2024-10-14 16:12:32

outlook 会议室的相关文章

如何通过组策略禁用outlook exchange add-in,控制会议室管理工具

需求源:公司开始会议室预定全部依靠outlook,会议室查找工具(outlook room finder)非常高效的解决了会议室冲突的问题.但是OA系统上线后,又不想大家从outlook预定会议室了,因为OA页面把公司三地会议室放在一个页面了,一目了然,相比outlook更加便捷. 为了推广OA并"强制"把数据源推广到OA,需要暂时把outlook的会议室查找工具禁用. 问题:公司100多人,如何批量完成此操作? 思路及方法:借助域控组策略,但是具体怎么实施? 经查找,控制outloo

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

本文论述了现有Exchange会议室应用现状和不足之处,并详细介绍了Redis内存数据库在Exchange会议室的应用,并给出了一种高性能的应用架构及采用关键技术和关键实现过程,最终实现大幅改进系统性能和改善用户体验,并为其他信息系统的优化提供了有效参考. 一.Redis内存数据库简介 Key-Value 存储系统是当下比较流行的话题,尤其在构建诸如搜索引擎.即时通讯.P2P.游戏服务器.SNS等大型互联网应用以及提供云计算服务的时候有着大量的实际应用. Key-Value 存储系统更加注重对海

Redis内存数据库在Exchange会议室的应用(转)

本文论述了现有Exchange会议室应用现状和不足之处,并详细介绍了Redis内存数据库在Exchange会议室的应用,并给出了一种高性能的应用架构及采用关键技术和关键实现过程,最终实现大幅改进系统性能和改善用户体验,并为其他信息系统的优化提供了有效参考. 一.Redis内存数据库简介 Key-Value 存储系统是当下比较流行的话题,尤其在构建诸如搜索引擎.即时通讯.P2P.游戏服务器.SNS等大型互联网应用以及提供云计算服务的时候有着大量的实际应用. Key-Value 存储系统更加注重对海

通过Outlook 2010“预定”会议室

1.打开Outlook 2010,选择"新建项目"并选择"会议": 2.输入收件人(即参加会议的人)和邮件主题,在地点文本框的右边,选择"会议室": 3.双击想要预定的会议室,然后在下面"会议室"文本框中会显示你预定的会议室,然后选择"确定": 4.选择好预定的时间,输入邮件的正文,然后选择"发送": 5.当你再次预定大会议室的时候,你会发现无可选会议室,并且下面还有个建议时间,建议你在

Outlook 2013“预约”会议室

Outlook 2013中,如果会议室邮箱为启用委派,使用和Outlook 2010差不多,我这里就不细说,我这里就演示,开启委派后应该怎么"预约": 1.打开Outlook,选择"新建项目"并选择"会议": 2.输入收件人(即参加会议的人)和主题:选择地点文本框右边的"会议室",选择要预定的会议室:然后选择时间,并输入邮件正文:然后点击发送: 3.如果新建会议室邮箱的时候选择的是"选择可以接受或拒绝预定请求的代理&

使用office 365管理和调度会议室

很多公司都有预订会议室的需求.将有限的会议室资源进行合理的分配,企业需要一个工具来管理会议室的忙闲. office 365具备会议室管理的功能. 基本环境:具备exchange online的office 365计划 具体方法: 第一,打开office 365管理员中心,选中侧边栏的"会议室",可以看见已有的会议室列表. 第二,点击图标"+",新建一个会议室.编辑会议室的属性,最重要的是需要为会议室分配一个唯一的邮箱账户.该邮箱为资源邮箱,免费的,不占用许可证. 第

关于会议室日历显示预订者信息

关于会议室日历显示预订者信息 首先下载以下工具并安装 Microsoft OnlineServices 登录助手,下载链接如下:http://www.microsoft.com/zh-cn/download/details.aspx?id=41950 Microsoft AzureActive Directory 模块,下载链接如下:http://go.microsoft.com/fwlink/p/?linkid=236297 1:打开用户连接office365的powershell,右键以管理

Exchange Server 2016管理系列课件17.创建和使用会议室邮箱

1)使用EMC创建会议室邮箱 选择[收件人],在收件人管理界面选择[资源],在资源管理界面选择新建[会议室邮箱],如图. 输入会议室邮箱的名称.别名.存放的OU.位置.容量等信息. 创建完成后,如图所示. 如果选择代理人选项,则会议室需要被批准后才能预订使用.批准权限可以委派给某一个人,这个人会受到审批的邮件,可以选择允许或者拒绝. 在[预定选项]界面,可以设置会议室邮箱的一些配置信息,例如最长会议持续时间.最大预定提前期等. 联系人信息选项卡,可以输入此会议室邮箱的联系人信息. 电子邮件地址界

AD 脚本kixtart运用之六(outlook邮件批量生成签名)

基于上一编文章http://windyma.blog.51cto.com/661702/1967071里的设置 我们在Function.kix添加如下内容(备注:此outlook签名function来自网上,经过我比较大的修改): ---------------- Function GenerateOutlookSig($SignatureFileName) $EmailAccountName = @WUSERID ;----获取outlook配置profile名字(如果有多个profile名字