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下运行通过,成功创建会议:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Microsoft.Office.Interop.Outlook;
- ////////////////////
- /* 调用Outlook api 发起会议
- /* mcjeremy@cnblogs.com
- ////////////////////
- namespace OutlookAPI
- {
- class Program
- {
- static void Main(string[] args)
- {
- try
- {
- ApplicationClass oApp =
- new Microsoft.Office.Interop.Outlook.ApplicationClass();
- //会议是约会的一种
- AppointmentItem oItem = (AppointmentItem)oApp.CreateItem(
- OlItemType.olAppointmentItem);
- oItem.MeetingStatus = OlMeetingStatus.olMeeting;
- oItem.Subject = "主题";
- oItem.Body = "内容";
- oItem.Location = "地点";
- //开始时间
- oItem.Start = DateTime.Now.AddDays(1);
- //结束时间
- oItem.End = DateTime.Now.AddDays(2);
- //提醒设置
- oItem.ReminderSet = true;
- ;
- //是否全天事件
- oItem.AllDayEvent = false;
- oItem.BusyStatus = OlBusyStatus.olBusy;
- //索引从1开始,而不是从0
- //发件人的帐号信息
- oItem.SendUsingAccount = oApp.Session.Accounts[2];
- //添加必选人
- Recipient force = oItem.Recipients.Add("mailuser2@mailserver.com");
- force.Type = (int)OlMeetingRecipientType.olRequired;
- //添加可选人
- Recipient opt = oItem.Recipients.Add("mailuser3@p.mailserver.com");
- opt.Type = (int)OlMeetingRecipientType.olOptional;
- //添加会议发起者
- Recipient sender = oItem.Recipients.Add("mailuser1@mailserver.com");
- sender.Type = (int)OlMeetingRecipientType.olOrganizer;
- oItem.Recipients.ResolveAll();
- //oItem.SaveAs("d:/TEST.MSG", OlSaveAsType.olMSG);
- oItem.Send();
- //MailItem mItem = (MailItem)oApp.CreateItem(OlItemType.olMailItem);
- //Recipient rTo = mItem.Recipients.Add("****");
- //rTo.Type = (int)OlMailRecipientType.olTo;
- //Recipient rCC=mItem.Recipients.Add("****");
- //rCC.Type = (int)OlMailRecipientType.olCC;
- //Recipient rBC = mItem.Recipients.Add("****");
- //rBC.Type = (int)OlMailRecipientType.olBCC;
- Console.WriteLine("OK");
- }
- catch (System.Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- Console.ReadLine();
- }
- }
- }
以上介绍C#调用Outlook API,希望对你有所帮助。
outlook 会议室的更多相关文章
- OutLook会议室预定提醒
项目组采用敏捷开发管理,每两周一个迭代.写个工具做会议室预定. 代码下载:https://download.csdn.net/download/linmilove/10547579 Appointme ...
- Redis内存数据库在Exchange会议室的应用
本文论述了现有Exchange会议室应用现状和不足之处,并详细介绍了Redis内存数据库在Exchange会议室的应用,并给出了一种高性能的应用架构及采用关键技术和关键实现过程,最终实现大幅改进系统性 ...
- 启明星会议室预定系统Outlook版开始支持Exchange2013与Office365版
版本启明星会议室预定系统支持Exchange2013与微软云服务Office365版.(注意:Exchange2007与Exchange2010也适合此版本) 1.安装 首页,安装类似启明星普通的会议 ...
- Mac Outlook 2016 无法打开会议室日历
问题:Mac Outlook 2016 无法打开会议室日历信息,报错截图如下: 解决方案: Set-MailboxFolderPermission -Identity XXX@xxx.com:\日历 ...
- 启明星Exchange/outlook预定会议室终端显示解决方案
启明星会议室预定系统(Exchange2007及其以上版本,)终端调用说明 (一)技术原理 系统采用三级刷新方式,以尽可能减少对服务器的访问压力. (1) exe程序,每隔5分钟访问Exchange, ...
- 跟着未名学Office - 高效工作Outlook
目录 第一篇邮件与联系人 1 第一节 使用与技巧 1 第二节 高效 11 第二篇 事务助手 21 第一节 日程管理 21 第二节 任务 ...
- Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用
通过本文你将学会如下内容: 1,如何使用Xamarin开发跨平台(Windows,Android,iOS)应用. 2,如何使用微软的登录界面登入Microsoft账号. 3,如何使用Outlook邮箱 ...
- Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用(后续)
在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]里面提到了Microsoft 身份认证,其实这也是一大块需要注意的地方,特作为后续补充这些知识点.上章是使用了Microsof ...
- 在Outlook中查看预览SharePoint文档库的文档
本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...
随机推荐
- Groovy与Java集成常见的坑(转)
groovy特性 Groovy是一门基于JVM的动态语言,同时也是一门面向对象的语言,语法上和Java非常相似.它结合了Python.Ruby和Smalltalk的许多强大的特性,Groovy 代码能 ...
- ssis 到别的表查找临时变量值
原文:ssis 到别的表查找临时变量值 etl过程过,往一个数据库表插入数据,插入的值往往需要到另外一个数据库读取.例如下面的客户跟踪,需要一个"项目ID",这个ID需要到另一个数 ...
- JAVA CAS原理深度分析(转)
看了一堆文章,终于把JAVA CAS的原理深入分析清楚了. 感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档: http://www.blogjava.net/xylz/ ...
- SharePoint 2013 配置开发环境,需安装VS2012插件
原文:SharePoint 2013 配置开发环境,需安装VS2012插件 SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有ShareP ...
- NSIS:检查某注册表键是否存在
原文NSIS:检查某注册表键是否存在 ;定义注册表主键!define HKEY_CLASSES_ROOT 0x80000000!define HKEY_CURRENT_USER ...
- 海哥:T2C时代的到来了,那么什么叫T2C?
昨天写了一篇文章叫做<我为什么选择家具行业,以及T2C概念的创办>,地址:http://user.qzone.qq.com/198819880/blog/1414399801 ,里面提到了 ...
- jQuery语音播放插件
自己做jQuery插件:将audio5js封装成jQuery语音播放插件 日前的一个项目需要用到语音播放功能.发现Audio5js符合需求且使用简单,又鉴于jQuery控件便于开发操作,于是有了以 ...
- poj2593 Max Sequence(两个不相交字段的最大总和与)
转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:id=2593">http://poj.org/prob ...
- SpringMVC + Spring 3.2.14 + Hibernate 3.6.10
SpringMVC + Spring 3.2.14 + Hibernate 3.6.10 集成详解 注:此文档只说明简单的框架集成,各个框架的高级特性未涉及,刚刚接触框架的新人可能需要参考其他资料. ...
- C#后台利用正则表达式查找匹配字符
/// <summary> /// 发送短信 系统固化短信 /// </summary> /// <param name=&qu ...