Как создать и отправить встречи в календарь Microsoft Outlook? - PullRequest
7 голосов
/ 23 декабря 2009

Я пытаюсь создать встречу в календаре 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());
}

Я что-то упустил? Может ли кто-нибудь помочь мне решить эту проблему?

Ответы [ 3 ]

6 голосов
/ 31 марта 2011

После назначения:

Outlook.MailItem mailItem = appt.ForwardAsVcal();
mailItem.To = "recipient's email address";
mailItem.Send();
3 голосов
/ 23 декабря 2009

Попробуйте добавить:

appt.MeetingStatus = Microsoft.Office.Interop.Outlook.OlMeetingStatus.olMeeting;

Статус по умолчанию - это встреча, которая, я не уверен, отправляется.

1 голос
/ 23 июля 2014

Вот как я исправил эту проблему:

Я положил (как сообщение Сонни Бой):

Outlook.MailItem mailItem = appt.ForwardAsVcal();
mailItem.To = "firstname.lastname@email.com";
mailItem.Send();

Но мне также пришлось создать файл web.config и настроить права доступа, чтобы избежать каких-либо исключений COMException:

<system.web>
  <authorization>
    <deny users="?"/>
  </authorization>
</system.web>
...