C#中调用Outlook API发起网络会议

开发 后端
我们可以在SharePoint中调用传出电子邮件中的邮件服务器及地址发送邮件,但是,里面的方法只能用于发送普通电子邮件。如果要发起会议之类的特殊邮件的话,可以利用C#调用Outlook 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+Office 12下运行通过,成功创建会议: 

 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4using Microsoft.Office.Interop.Outlook;
 5/**/////////////////////
 6/**//* 调用Outlook api 发起会议
 7/* mcjeremy@cnblogs.com
 8////////////////////
 9namespace OutlookAPI
10{
11    class Program
12    {
13        static void Main(string[] args)
14        {
15            try
16            {
17                ApplicationClass oApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
18
19                //会议是约会的一种
20                AppointmentItem oItem = (AppointmentItem)oApp.CreateItem(OlItemType.olAppointmentItem);
21                oItem.MeetingStatus = OlMeetingStatus.olMeeting;
22
23                oItem.Subject = "主题";
24
25                oItem.Body = "内容";
26
27                oItem.Location = "地点";
28
29                //开始时间 
30                oItem.Start = DateTime.Now.AddDays(1);
31
32                //结束时间
33                oItem.End = DateTime.Now.AddDays(2);
34
35                //提醒设置
36                oItem.ReminderSet = true;
37                oItem.ReminderMinutesBeforeStart = 5;
38
39                //是否全天事件
40                oItem.AllDayEvent = false;
41
42                oItem.BusyStatus = OlBusyStatus.olBusy;               
43
44                //索引从1开始,而不是从0
45                //发件人的帐号信息
46                oItem.SendUsingAccount = oApp.Session.Accounts[2];              
47
48                //添加必选人
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();
59
60                //oItem.SaveAs("d:/TEST.MSG", OlSaveAsType.olMSG);
61
62                oItem.Send();
63
64                //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;
71
72                Console.WriteLine("OK");
73            }
74            catch (System.Exception ex)
75            {
76                Console.WriteLine(ex.Message);
77            }
78
79            Console.ReadLine();
80        }
81    }
82}

C#中调用Outlook API发起网络会议就为大家介绍到这里。

【编辑推荐】

  1. Lambda表达式入门实例
  2. 在C++中使用Lambda函数提高代码性能
  3. 浅谈如何使用Lambda表达式做抽象代表
  4. LINQ中的Lambda表达式
  5. LINQ中的Lambda表达式2
责任编辑:彭凡 来源: cnblogs
相关推荐

2009-08-03 13:13:52

C#调用Outlook

2009-07-31 15:47:20

Win32 APIC#

2009-08-17 13:49:20

C#中调用Window

2009-07-31 16:12:10

Windows APIC#

2009-08-05 15:10:19

C#调用GoogleE

2009-08-07 16:10:20

C#调用API

2009-08-03 13:34:57

C#调用Windows

2023-07-21 14:25:17

2023-08-03 17:57:43

2013-12-12 09:17:59

IDC网络会议移动

2009-08-03 14:09:15

C#调用API

2009-08-21 17:42:36

C#调用API

2009-08-17 13:18:01

C#调用Windows

2016-03-03 20:03:03

2012-02-21 08:10:48

2009-08-25 16:16:27

C#调用Windows

2010-09-16 15:11:02

2024-01-09 15:46:42

2012-02-20 14:14:34

2021-11-02 14:07:00

网络攻击黑客网络安全
点赞
收藏

51CTO技术栈公众号