码迷,mamicode.com
首页 > Windows程序 > 详细

C#中调用Outlook API 发起会议

时间:2014-10-02 09:30:22      阅读:378      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   使用   ar   for   

原文: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下运行通过,成功创建会议:

  

 1bubuko.com,布布扣using System;
 2bubuko.com,布布扣using System.Collections.Generic;
 3bubuko.com,布布扣using System.Text;
 4bubuko.com,布布扣using Microsoft.Office.Interop.Outlook;
 5bubuko.com,布布扣////////////////////
 6bubuko.com,布布扣/* 调用Outlook api 发起会议
 7bubuko.com,布布扣/* mcjeremy@cnblogs.com
 8bubuko.com,布布扣////////////////////
 9bubuko.com,布布扣namespace OutlookAPI
10bubuko.com,布布扣{
11bubuko.com,布布扣    class Program
12bubuko.com,布布扣    {
13bubuko.com,布布扣        static void Main(string[] args)
14bubuko.com,布布扣        {
15bubuko.com,布布扣            try
16bubuko.com,布布扣            {
17bubuko.com,布布扣                ApplicationClass oApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
18bubuko.com,布布扣
19bubuko.com,布布扣                //会议是约会的一种
20bubuko.com,布布扣                AppointmentItem oItem = (AppointmentItem)oApp.CreateItem(OlItemType.olAppointmentItem);
21bubuko.com,布布扣                oItem.MeetingStatus = OlMeetingStatus.olMeeting;
22bubuko.com,布布扣
23bubuko.com,布布扣                oItem.Subject = "主题";
24bubuko.com,布布扣
25bubuko.com,布布扣                oItem.Body = "内容";
26bubuko.com,布布扣
27bubuko.com,布布扣                oItem.Location = "地点";
28bubuko.com,布布扣
29bubuko.com,布布扣                //开始时间 
30bubuko.com,布布扣                oItem.Start = DateTime.Now.AddDays(1);
31bubuko.com,布布扣
32bubuko.com,布布扣                //结束时间
33bubuko.com,布布扣                oItem.End = DateTime.Now.AddDays(2);
34bubuko.com,布布扣
35bubuko.com,布布扣                //提醒设置
36bubuko.com,布布扣                oItem.ReminderSet = true;
37bubuko.com,布布扣                oItem.ReminderMinutesBeforeStart = 5;
38bubuko.com,布布扣
39bubuko.com,布布扣                //是否全天事件
40bubuko.com,布布扣                oItem.AllDayEvent = false;
41bubuko.com,布布扣
42bubuko.com,布布扣                oItem.BusyStatus = OlBusyStatus.olBusy;                
43bubuko.com,布布扣
44bubuko.com,布布扣                //索引从1开始,而不是从0
45bubuko.com,布布扣                //发件人的帐号信息
46bubuko.com,布布扣                oItem.SendUsingAccount = oApp.Session.Accounts[2];               
47bubuko.com,布布扣
48bubuko.com,布布扣                //添加必选人
49bubuko.com,布布扣                Recipient force = oItem.Recipients.Add("mailuser2@mailserver.com");
50bubuko.com,布布扣                force.Type = (int)OlMeetingRecipientType.olRequired;
51bubuko.com,布布扣                //添加可选人
52bubuko.com,布布扣                Recipient opt = oItem.Recipients.Add("mailuser3@p.mailserver.com");
53bubuko.com,布布扣                opt.Type = (int)OlMeetingRecipientType.olOptional;
54bubuko.com,布布扣                //添加会议发起者
55bubuko.com,布布扣                Recipient sender = oItem.Recipients.Add("mailuser1@mailserver.com");
56bubuko.com,布布扣                sender.Type = (int)OlMeetingRecipientType.olOrganizer;                    
57bubuko.com,布布扣               
58bubuko.com,布布扣                oItem.Recipients.ResolveAll();
59bubuko.com,布布扣
60bubuko.com,布布扣                //oItem.SaveAs("d:/TEST.MSG", OlSaveAsType.olMSG);
61bubuko.com,布布扣
62bubuko.com,布布扣                oItem.Send();
63bubuko.com,布布扣
64bubuko.com,布布扣                //MailItem mItem = (MailItem)oApp.CreateItem(OlItemType.olMailItem);
65bubuko.com,布布扣                //Recipient rTo = mItem.Recipients.Add("****");
66bubuko.com,布布扣                //rTo.Type = (int)OlMailRecipientType.olTo;
67bubuko.com,布布扣                //Recipient rCC=mItem.Recipients.Add("****");
68bubuko.com,布布扣                //rCC.Type = (int)OlMailRecipientType.olCC;
69bubuko.com,布布扣                //Recipient rBC = mItem.Recipients.Add("****");
70bubuko.com,布布扣                //rBC.Type = (int)OlMailRecipientType.olBCC;
71bubuko.com,布布扣
72bubuko.com,布布扣                Console.WriteLine("OK");
73bubuko.com,布布扣            }
74bubuko.com,布布扣            catch (System.Exception ex)
75bubuko.com,布布扣            {
76bubuko.com,布布扣                Console.WriteLine(ex.Message);
77bubuko.com,布布扣            }
78bubuko.com,布布扣
79bubuko.com,布布扣            Console.ReadLine();
80bubuko.com,布布扣        }
81bubuko.com,布布扣    }
82bubuko.com,布布扣}

83bubuko.com,布布扣

 

C#中调用Outlook API 发起会议

标签:style   blog   http   color   io   os   使用   ar   for   

原文地址:http://www.cnblogs.com/lonelyxmas/p/4003810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!