控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

在C#中如何发起会议等特殊邮件

作者:不详 出处:IT专家网论坛 2010年02月03日 阅读:

从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;
  Console.WriteLine("OK");
  }
  catch (System.Exception ex)
  {
  Console.WriteLine(ex.Message);
  }
  Console.ReadLine();
  }
  }
  }

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统