新聞中心
在我上一篇博文中曾提到了 SharePoint 中調(diào)用傳出電子郵件中的郵件服務(wù)器及地址發(fā)送郵件

創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),河口網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:河口等地區(qū)。河口做網(wǎng)站價(jià)格咨詢:13518219792
但是,里面的方法只能用于發(fā)送普通電子郵件。如果要發(fā)起會(huì)議之類(lèi)的特殊郵件的話,可以C#調(diào)用Outlook API,自身的API。
創(chuàng)建項(xiàng)目后,為它添加.NET引用:“Microsoft.Office.Interop.Outlook"的引用,即可調(diào)用,需要注意的是,在添加的時(shí)候,注意一下OFFICE版本號(hào)。
在C#調(diào)用Outlook API發(fā)起會(huì)議的過(guò)程中,遇到了一個(gè)問(wèn)題:
創(chuàng)建完一個(gè)約會(huì)條目后,找了很久沒(méi)找到如何為這一約會(huì)指定“發(fā)件人”,后來(lái)一想,Window CF 中,查找人員信息有個(gè)OutlookSession的東東,
那這Outlook會(huì)不會(huì)有同樣的方式呢,經(jīng)過(guò)測(cè)試,還真的找到方法,原來(lái),它的API指定的發(fā)件人是和你機(jī)上運(yùn)行的Outlook的帳戶設(shè)置直接相關(guān)的。
通過(guò) ApplicationClass.Session.Accounts即可找到您設(shè)置的帳戶集合,需要特別特別注意的是,在這里,取某個(gè)人員時(shí),集合的索引是從1開(kāi)始,而不是
從0開(kāi)始。 找到相關(guān)的帳戶后,可以通過(guò) AppointmentItem.SendUsingAccount 屬性來(lái)指定約會(huì)的發(fā)件人。但是,如果我不使用Outlook里帳戶設(shè)置的帳戶集合,而要指定其它的郵件帳戶來(lái)發(fā)送郵件時(shí)該怎么弄?到現(xiàn)在也沒(méi)有找到或發(fā)現(xiàn)辦法,希望知道的達(dá)人們能
指點(diǎn)一下門(mén)路,拜謝先~~~~
下面是測(cè)試的代碼,在WIN2003+OFFICE12下運(yùn)行通過(guò),成功創(chuàng)建會(huì)議:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Microsoft.Office.Interop.Outlook;
- ////////////////////
- /* 調(diào)用Outlook api 發(fā)起會(huì)議
- /* [email protected]
- ////////////////////
- namespace OutlookAPI
- {
- class Program
- {
- static void Main(string[] args)
- {
- try
- {
- ApplicationClass oApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
- //會(huì)議是約會(huì)的一種
- AppointmentItem oItem = (AppointmentItem)oApp.CreateItem(OlItemType.olAppointmentItem);
- oItem.MeetingStatus = OlMeetingStatus.olMeeting;
- oItem.Subject = "主題";
- oItem.Body = "內(nèi)容";
- oItem.Location = "地點(diǎn)";
- //開(kāi)始時(shí)間
- oItem.Start = DateTime.Now.AddDays(1);
- //結(jié)束時(shí)間
- oItem.End = DateTime.Now.AddDays(2);
- //提醒設(shè)置
- oItem.ReminderSet = true;
- oItem.ReminderMinutesBeforeStart = 5;
- //是否全天事件
- oItem.AllDayEvent = false;
- oItem.BusyStatus = OlBusyStatus.olBusy;
- //索引從1開(kāi)始,而不是從0
- //發(fā)件人的帳號(hào)信息
- oItem.SendUsingAccount = oApp.Session.Accounts[2];
- //添加必選人
- Recipient force = oItem.Recipients.Add("[email protected]");
- force.Type = (int)OlMeetingRecipientType.olRequired;
- //添加可選人
- Recipient opt = oItem.Recipients.Add("[email protected]");
- opt.Type = (int)OlMeetingRecipientType.olOptional;
- //添加會(huì)議發(fā)起者
- Recipient sender = oItem.Recipients.Add("[email protected]");
- 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();
- }
- }
- }
以上介紹C#調(diào)用Outlook API
【編輯推薦】
- 淺談C#中構(gòu)造函數(shù)和成員函數(shù)
- C#函數(shù)的參數(shù)返回結(jié)構(gòu)數(shù)組
- 概述ASP.NET中的NGWS Runtime
- C#函數(shù)與JavaScript函數(shù)
- 詳解C# Object.Equals函數(shù)
文章名稱:詳解C#調(diào)用Outlook API
網(wǎng)站鏈接:http://www.fisionsoft.com.cn/article/dpdoddp.html


咨詢
建站咨詢
