原文: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. 7.oracle学习门户系列七---网络管理和配置

    oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上 ...

  2. 动态生成Zip

    动态生成Zip文档   通过前面一篇烂文的介绍,大伙儿知道,ZipArchive类表示一个zip文档实例,除了用上一篇文章中所列的方法来读写zip文件外,还可以直接通过ZipArchive类,动态生成 ...

  3. 通过java.util.concurrent写多线程程序

    在JDK 1.5之前,要实现多线程的功能,得用到Thread这个类,通过这个类设计多线程程序,需要考虑性能,死锁,资源等很多因素,一句话,就是相当麻烦,而且很容易出问题.所幸的是,在JDK1.5之后, ...

  4. Oracle压缩总结2— 估计表压缩效应

    使用压缩前,我们可以估算压缩能有多大效果. 11gr2我已经能够使用dbms_comp_advisor,具体代码见附件.只需要运行两个文件dbmscomp.sql和prvtcomp.plb.然后使用D ...

  5. 7 Ways to earn money on programming(转)

    英文原文:7 Ways to earn money on programming 几个星期前,当我收到一个自称 Someone712 的人发给我的一条消息时,我决定要写一篇如何用编程赚钱的博客文章.S ...

  6. Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

    原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理 ...

  7. hdu 3695 Computer Virus on Planet Pandora(AC自己主动机)

    题目连接:hdu 3695 Computer Virus on Planet Pandora 题目大意:给定一些病毒串,要求推断说给定串中包括几个病毒串,包括反转. 解题思路:将给定的字符串展开,然后 ...

  8. cocos2d-x 发动机分析:程序如何开始和结束?

    原创地址:http://game.dapps.net/gamedev/game-engine/9515.html 感谢原创分享! 怎么样使用 Cocos2d-x 高速开发游戏,方法非常easy,你能够 ...

  9. Hybrid----U采用IWebView演出PDF和其他文件

    App如果你需要显示pdf.word档,在这个时候有没有其他控制,比UIWebView更适合,这是高度抽象的技术细节,可以非常easy采用 UIWebView打开文件类型列表 watermark/2/ ...

  10. debugging python with IDLE

    1. start IDLE "Python 2.5"→"IDLE(Python GUI)" 2. open your source file window Fr ...