本文介绍在C#调用Outlook API发起会议的过程中,遇到了一个问题,以及测试的代码,在WIN2003+OFFICE12下运行通过,成功创建会议。

在我上一篇博文中曾提到了 SharePoint 中调用传出电子邮件中的邮件服务器及地址发送邮件

详解C#调用Outlook API(c# 调用c)  C#调用Outlook API 第1张

可是,里边的方法只能用于发送一般电子邮件。假如要建议会议之类的特别邮件的话,能够C#调用Outlook API,本身的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+OFFICE12下运转经过,成功创立会议:

  1. usingSystem;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Text;
  4. usingMicrosoft.Office.Interop.Outlook;
  5. ////////////////////
  6. /*调用Outlookapi建议会议
  7. /*mcjeremy@cnblogs.com
  8. ////////////////////
  9. namespaceOutlookAPI
  10. {
  11. classProgram
  12. {
  13. staticvoidMain(string[]args)
  14. {
  15. try
  16. {
  17. ApplicationClassoApp=newMicrosoft.Office.Interop.Outlook.ApplicationClass();
  18. //会议是约会的一种
  19. AppointmentItemoItem=(AppointmentItem)oApp.CreateItem(OlItemType.olAppointmentItem);
  20. oItem.MeetingStatus=OlMeetingStatus.olMeeting;
  21. oItem.Subject="主题";
  22. oItem.Body="内容";
  23. oItem.Location="地址";
  24. //开端时刻 
  25. oItem.Start=DateTime.Now.AddDays(1);
  26. //完毕时刻
  27. oItem.End=DateTime.Now.AddDays(2);
  28. //提示设置
  29. oItem.ReminderSet=true;
  30. oItem.ReminderMinutesBeforeStart=5;
  31. //是否全天事情
  32. oItem.AllDayEvent=false;
  33. oItem.BusyStatus=OlBusyStatus.olBusy;
  34. //索引从1开端,而不是从0
  35. //发件人的帐号信息
  36. oItem.SendUsingAccount=oApp.Session.Accounts[2];
  37. //增加必选人
  38. Recipientforce=oItem.Recipients.Add("mailuser2@mailserver.com");
  39. force.Type=(int)OlMeetingRecipientType.olRequired;
  40. //增加可选人
  41. Recipientopt=oItem.Recipients.Add("mailuser3@p.mailserver.com");
  42. opt.Type=(int)OlMeetingRecipientType.olOptional;
  43. //增加会议建议者
  44. Recipientsender=oItem.Recipients.Add("mailuser1@mailserver.com");
  45. sender.Type=(int)OlMeetingRecipientType.olOrganizer;
  46. oItem.Recipients.ResolveAll();
  47. //oItem.SaveAs("d:/TEST.MSG",OlSaveAsType.olMSG);
  48. oItem.Send();
  49. //MailItemmItem=(MailItem)oApp.CreateItem(OlItemType.olMailItem);
  50. //RecipientrTo=mItem.Recipients.Add("****");
  51. //rTo.Type=(int)OlMailRecipientType.olTo;
  52. //RecipientrCC=mItem.Recipients.Add("****");
  53. //rCC.Type=(int)OlMailRecipientType.olCC;
  54. //RecipientrBC=mItem.Recipients.Add("****");
  55. //rBC.Type=(int)OlMailRecipientType.olBCC;
  56. Console.WriteLine("OK");
  57. }
  58. catch(System.Exceptionex)
  59. {
  60. Console.WriteLine(ex.Message);
  61. }
  62. Console.ReadLine();
  63. }
  64. }
  65. }

以上介绍C#调用Outlook API

【修改引荐】

  1. 浅谈C#中结构函数和成员函数
  2. C#函数的参数回来结构数组
  3. 概述ASP.NET中的NGWS Runtime
  4. C#函数与JavaScript函数
  5. 详解C# Object.Equals函数
转载请说明出处
知优网 » 详解C#调用Outlook API(c# 调用c)

发表评论

您需要后才能发表评论