C#中调用Outlook API 发起会议

简介: 原文:C#中调用Outlook API 发起会议  在我上一篇博文中曾提到了 SharePoint 中调用传出电子邮件中的邮件服务器及地址发送邮件   但是,里面的方法只能用于发送普通电子邮件。如果要发起会议之类的特殊邮件的话,可以使用Outlook 自身的API。
原文: 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下运行通过,成功创建会议:

  

 1 using  System;
 2 using  System.Collections.Generic;
 3 using  System.Text;
 4 using  Microsoft.Office.Interop.Outlook;
 5 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif /**/ ////////////////////
 6 img_405b18b4b6584ae338e0f6ecaf736533.gif img_1c53668bcee393edac0d7b3b3daff1ae.gif /**/ /* 调用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}

83

 

目录
相关文章
|
6月前
|
监控 安全 API
Outlook邮箱API发送邮件的具体步骤
使用Outlook邮箱API发送邮件涉及五个步骤:1) 注册Azure应用并获取API访问权限;2) 构建包含邮件详情的POST请求;3) 发送请求至API端点,附带验证信息和访问令牌;4) 检查API响应状态码确保邮件发送成功;5) 监控邮件发送状态。AokSend提供高效发信服务,支持触发式和SMTP/API接口。确保遵循最佳实践,保证邮件发送安全可靠。
|
1月前
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
55 7
|
1月前
|
API C#
异步轮询 Web API 的实现与 C# 示例
异步轮询 Web API 的实现与 C# 示例
78 0
|
3月前
|
开发框架 人工智能 自然语言处理
基于ChatGPT的API的C#接入研究
基于ChatGPT的API的C#接入研究
|
6月前
|
JSON API C#
C# 通过阿里云 API 实现企业工商数据查询
C# 通过阿里云 API 实现企业工商数据查询
|
6月前
|
JSON 文字识别 算法
C# 通过阿里云 API 实现企业营业执照OCR识别
C# 通过阿里云 API 实现企业营业执照OCR识别
|
6月前
|
API C# 图形学
【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)
【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)
138 1
|
6月前
|
监控 安全 API
深入探讨API安全性与C#实例演示
在本篇文章中,我们将深入研究 API 的安全性,并通过使用 C# 的实际示例探索一些基本机制。
99 0
|
API C# Windows
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
本篇主要介绍一些与窗口句柄相关的一些API,比如设置窗口状态、当前激活的窗口、窗口客户区的大小、鼠标位置、禁用控件等,以及介绍Winform中的句柄属性,便于直接获取控件或窗体句柄,以及不推荐...
3144 0
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
|
11月前
|
API C#
C# 调用系统“API“设置图片为“桌面壁纸“
C# 调用系统“API“设置图片为“桌面壁纸“