我正在尝试使用以下代码在另一个人的Microsoft Outlook(2003)日历中创建约会。运行此程序时,约会将保存在我的日历中。但不会发送给收件人。
try
{
Microsoft.Office.Interop.Outlook.Application app = null;
Microsoft.Office.Interop.Outlook.AppointmentItem appt = null;
app = new Microsoft.Office.Interop.Outlook.Application();
appt = (Microsoft.Office.Interop.Outlook.AppointmentItem)app
.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
appt.Subject = "Meeting ";
appt.Body = "Test Appointment body";
appt.Location = "TBD";
appt.Start = Convert.ToDateTime("12/23/2009 05:00:00 PM");
appt.Recipients.Add("smuthumari@mycompany.com");
appt.End = Convert.ToDateTime("12/23/2009 6:00:00 PM");
appt.ReminderSet = true;
appt.ReminderMinutesBeforeStart = 15;
appt.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh;
appt.BusyStatus = Microsoft.Office.Interop.Outlook.OlBusyStatus.olBusy;
appt.Save();
appt.Send();
}
catch (COMException ex)
{
Response.Write(ex.ToString());
}
我错过了什么吗?任何人都可以帮我解决这个问题吗?
答案 0 :(得分:5)
预约后:
Outlook.MailItem mailItem = appt.ForwardAsVcal();
mailItem.To = "recipient's email address";
mailItem.Send();
答案 1 :(得分:3)
尝试添加:
appt.MeetingStatus = Microsoft.Office.Interop.Outlook.OlMeetingStatus.olMeeting;
默认状态是我不确定正在发送的约会。
答案 2 :(得分:1)
以下是我解决此问题的方法:
我把(像Sonny Boy的帖子):
Outlook.MailItem mailItem = appt.ForwardAsVcal();
mailItem.To = "firstname.lastname@email.com";
mailItem.Send();
但我还必须创建一个web.config文件,并设置授权访问以避免任何COMException:
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>