原文:C#中调用Outlook API 发起会议

在我上一篇博文中曾提到了 SharePoint 中调用传出电子邮件中的邮件服务器及地址发送邮件

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

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

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

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

那这Outlook会不会有同样的方式呢,经过测试,还真的找到方法,原来,它的API指定的发件人是和你机上运行的Outlook的帐户设置直接相关的。
  通过 ApplicationClass.Session.Accounts即可找到您设置的帐户集合,需要特别特别注意的是,在这里,取某个人员时,集合的索引是从1开始,而不是
  从0开始。 找到相关的帐户后,可以通过 AppointmentItem.SendUsingAccount 属性来指定约会的发件人。
 ---但是,如果我不使用Outlook里帐户设置的帐户集合,而要指定其它的邮件帐户来发送邮件时该怎么弄?到现在也没有找到或发现办法,希望知道的达人们能
  指点一下门路,拜谢先~~~~

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

 1using System; 2using System.Collections.Generic; 3using System.Text; 4using Microsoft.Office.Interop.Outlook; 5/**///////////////////// 6/**//* 调用Outlook api 发起会议 7/* mcjeremy@cnblogs.com 8//////////////////// 9namespace OutlookAPI10{11    class Program12    {13        static void Main(string[] args)14        {15            try16            {17                ApplicationClass oApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();1819                //会议是约会的一种20                AppointmentItem oItem = (AppointmentItem)oApp.CreateItem(OlItemType.olAppointmentItem);21                oItem.MeetingStatus = OlMeetingStatus.olMeeting;2223                oItem.Subject = "主题";2425                oItem.Body = "内容";2627                oItem.Location = "地点";2829                //开始时间 30                oItem.Start = DateTime.Now.AddDays(1);3132                //结束时间33                oItem.End = DateTime.Now.AddDays(2);3435                //提醒设置36                oItem.ReminderSet = true;37                oItem.ReminderMinutesBeforeStart = 5;3839                //是否全天事件40                oItem.AllDayEvent = false;4142                oItem.BusyStatus = OlBusyStatus.olBusy;                4344                //索引从1开始,而不是从045                //发件人的帐号信息46                oItem.SendUsingAccount = oApp.Session.Accounts[2];               4748                //添加必选人49                Recipient force = oItem.Recipients.Add("mailuser2@mailserver.com");50                force.Type = (int)OlMeetingRecipientType.olRequired;51                //添加可选人52                Recipient opt = oItem.Recipients.Add("mailuser3@p.mailserver.com");53                opt.Type = (int)OlMeetingRecipientType.olOptional;54                //添加会议发起者55                Recipient sender = oItem.Recipients.Add("mailuser1@mailserver.com");56                sender.Type = (int)OlMeetingRecipientType.olOrganizer;                    57               58                oItem.Recipients.ResolveAll();5960                //oItem.SaveAs("d:/TEST.MSG", OlSaveAsType.olMSG);6162                oItem.Send();6364                //MailItem mItem = (MailItem)oApp.CreateItem(OlItemType.olMailItem);65                //Recipient rTo = mItem.Recipients.Add("****");66                //rTo.Type = (int)OlMailRecipientType.olTo;67                //Recipient rCC=mItem.Recipients.Add("****");68                //rCC.Type = (int)OlMailRecipientType.olCC;69                //Recipient rBC = mItem.Recipients.Add("****");70                //rBC.Type = (int)OlMailRecipientType.olBCC;7172                Console.WriteLine("OK");73            }74            catch (System.Exception ex)75            {76                Console.WriteLine(ex.Message);77            }7879            Console.ReadLine();80        }81    }82}83

C#中调用Outlook API 发起会议的更多相关文章

  1. ASP.NET MVC4中调用WEB API的四个方法

    http://tech.it168.com/a2012/0606/1357/000001357231_all.shtml [IT168技术]当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各 ...

  2. C#中调用Windows API的要点 .

    介绍 API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认 ...

  3. C#中调用Windows API时的数据类型对应关系

    原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System. ...

  4. Dynamics 365 CE的插件/自定义工作流活动中调用Web API示例代码

    微软动态CRM专家罗勇 ,回复325或者20190428可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 现在Web API越来越流行,有时候为了程序更加健壮,需要在插件 ...

  5. shell中调用jenkins API批量运行历史任务

    shell中调用jenkins API批量运行jenkins带参数的任务: #!/bin/sh #startdate=20150127 startdate=20150201 while [ " ...

  6. [windows菜鸟]C#中调用Windows API的技术要点说明

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  7. MFC中调用web api

    使用COM组件来调用,需要catch com error. IXMLHTTPRequestPtr pIXMLHTTPRequest = NULL; BSTR bstrString = NULL; HR ...

  8. C++多线程中调用python api函数

    错误场景:一直等待全局锁. 解决方法: 一.首先定义一个封装类,主要是保证PyGILState_Ensure, PyGILState_Release配对使用,而且这个类是可以嵌套使用的. #inclu ...

  9. 怎样在自己的网页中调用百度API

    https://blog.csdn.net/u010251278/article/details/52877370 以下内容转自上述网站,为了以后的学习方便,为此才特地将该网站内容转到自己的博客,多谢 ...

随机推荐

  1. nisi 脚本示例

    只是简单的copy文件和添加快捷方式,安装和卸载时对程序是否运行进行检测 ;-------------------------------- ;Include Modern UI !include & ...

  2. js实现双击后网页自己主动跑-------Day55

    公司的界面设计环节总算是告一段落了,必需要承认的是,这段时间晚间的学习带给我非常多益处.在工作中偶尔的应用,效果出奇的好,收到领导和同事的一些小赞扬,表示非常欣慰,也长了点不少自信,尽管不理解,他们这 ...

  3. 霸气侧漏HTML5--之--canvas(1) api + 弹球例子

    html5也许最有吸引力的新功能是canvas 漆.基本可以足够强大后,以取代flash页面的效果.下面来介绍canvas要使用: HTML5 Canvas的基本图形都是以路径为基础的.通常使用Con ...

  4. ActiveMQ与RabbitMQ采用camel综合

    著名EIP实施框架Camel它起源于ActiveMQ的一些基于消息的集成需求.然后逐渐发展成为一个ActiveMQ的子项目,最后这一块的功能越来越完好.就成为了Apache的顶级项目. 所以,从一開始 ...

  5. apk当安装程序将文件复制到手机自带的指定文件夹

    项目已获得,今天.apk文件以获得另一个非调试手机,发现一个问题. 由于涂料.所以绘图数据的点存储在一个.txt文字档.把它用usb传到指定目录下的,可是明显不科学,由于用户下载了你的.apk文件,你 ...

  6. js之面向对象----封装篇

    学习了一天的面向对象总结一下,共分为三类 - -! 老规矩 第一部分是概念性知识!!! 面向对象编程,我们可以把他想象成我们在造人.一个对象便是一个人,这个人有胳膊有腿,这便是一个对象的属性或者方法. ...

  7. Js 对象添加属性

    var arr = new Array(); arr[0] = jQuery("#data1").val(); var obj = {}; obj.y='abc'; arr.pus ...

  8. JS常用方法总结,及jquery异步调用后台方法实例

    //前台接收get参数值 function getQueryString(name) {            var queryStrings = window.location.search.sp ...

  9. 阿里云server安全设定

    1.打开所有的服务云盾 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamVkaWFlbF9sdQ==/font/5a6L5L2T/fontsize/400 ...

  10. 【从翻译mos文章】oracle linux 和外部存储系统 关系

    oracle  linux 和外部存储系统 关系 参考原始: Oracle Linux and External Storage Systems (Doc ID 753050.1) 范围: Linux ...