原文: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. JAVA该队列中的数组,圆阵队列,链队列

    /** * 文件名:QueueText.java * 时间:2014年10月22下午9:05:13 * 笔者:维亚康姆维修 */ package chapter3; /** * 类名:ArrayQue ...

  2. 有趣 IOS 开展 - block 使用具体解释

    Block 它是iOS于4.0新的程序语法之后,于iOS SDK 4.0之后,block应用几乎无处不在. 在其他语言中也有类似的概念,称为闭包(closure),实例object C兄弟swift ...

  3. k8s with flanneld

    三台机器 kmaster 192.168.1.201 kslave202 192.168.1.202 kslave203 192.168.1.203 安装好k8s 1. 在Node机器上安装flann ...

  4. 关于继承modelDriven接口action的ajax来电参数

    例如   Model类如下面,Teacher,public class Teacher{  private Integer id. priavte  String name;  private Sch ...

  5. twitter接口开发

    前一阵子研究了下twitter接口,发现网上的资料不是很多.遂花了些心血,终于有所收获~ 现在有时间赶紧整理出来便于自己以后查阅,也想帮助有困难的同学们.废话不多说,现在就以最简洁的方式开始了.注意: ...

  6. adb这点小事——远程adb调试

    欢迎转载.转载请注明:http://blog.csdn.net/zhgxhuaa 1.   前言 1.1.  写在前面的话 在之前的一篇文章<360电视助手实现研究>中介绍了在局域网内直接 ...

  7. Net 一个请求的处理流程

    Net 一个请求的处理流程   1.浏览器请求 请求-准备环境-->处理请求   2.Aspnet 环境的创建 客户请求 IIS区分静态文件还是动态文件,静态文件直接文件返回,动态文件通过asp ...

  8. HTML5分析实战WebSockets一个简短的引论

    HTML5 WebSockets规范定义了API,同意web页面使用WebSockets与远程主机协议的双向通信. 介绍WebSocket接口,并限定了全双工通信信道,通过套接字网络. HTML5 W ...

  9. Leetcode:convert_sorted_array_to_binary_search_tree

    一.     称号 排序后的数组成二叉搜索树. 二.     分析 BST的中序遍历是一个sorted-array,再构造回去成一个BST,先将中间的元素作为根节点,这个节点的左右各自是左子树和右子树 ...

  10. C# ICSharpCode.SharpZipLib

    C# ICSharpCode.SharpZipLib.dll文件压缩和解压功能类整理,上传文件或下载文件很常用 工作中我们很多时候需要进行对文件进行压缩,比较通用的压缩的dll就是ICSharpCod ...