如何在 C# 中发起会议之类的特殊邮件

喵了个咪哦oo

喵了个咪哦oo

2016-02-19 13:07

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享如何在 C# 中发起会议之类的特殊邮件,希望可以对大家能有小小的帮助。

从C#中调用Outlook中的API,可以发起会议之类的特殊邮件。方法如下:

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

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

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

那这Outlook会不会有同样的方式呢,经过测试,还真的找到方法,原来,它的API指定的发件人是和你机上运行的Outlook的帐户设置直接相关的。

通过 ApplicationClass.Session.Accounts即可找到您设置的帐户集合,需要特别特别注意的是,在这里,取某个人员时,集合的索引是从1开始,而不是

从0开始。 找到相关的帐户后,可以通过 AppointmentItem.SendUsingAccount 属性来指定约会的发件人。

下面是测试的代码,在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.ReminderMinutesBeforeStart = 5;
                //是否全天事件
                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;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

               Console.WriteLine("OK");
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.ReadLine();
        }
    }
}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
 

展开更多 50%)
分享

猜你喜欢

如何在 C# 中发起会议之类的特殊邮件

编程语言 网络编程
如何在 C# 中发起会议之类的特殊邮件

如何在电子邮箱中发送和接收邮件

电脑入门
如何在电子邮箱中发送和接收邮件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Visual C#编程入门之类型和变量

编程语言 网络编程
Visual C#编程入门之类型和变量

Foxmail如何在资源管理器中发邮件

电脑网络
Foxmail如何在资源管理器中发邮件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何使用C#发送电子邮件

编程语言 网络编程
如何使用C#发送电子邮件

如何在摄影中发现亮点

摄影 人像摄影 静物摄影
如何在摄影中发现亮点

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

怎么快速更换win7盘符图标或者还原win7盘符图标

怎么快速更换win7盘符图标或者还原win7盘符图标

Java初学者入门需掌握的30个基本概念

Java初学者入门需掌握的30个基本概念
下拉加载更多内容 ↓